dna的排列方式,dna排列图

  dna的排列方式,dna排列图

  描述

  序列中"无序"的一个度量是彼此无序的条目对的数量。例如,在字母序列"达阿贝克"中,这个度量是5,因为D比它右边的四个字母大,而E比它右边的一个字母大。这个度量被称为序列中反转的次数。序列" AACEDGG "只有一个反转(E和D) -它几乎是排序的-而序列" ZWQM "有6个反转(它是最不排序的-正好是排序的相反)。

  您负责对脱氧核糖核酸字符串序列(仅包含四个字母甲、丙、庚和T的序列)进行编目。但是,您希望对它们进行分类,不是按字母顺序,而是按"排序"顺序,从"排序最多"到"排序最少"。所有的弦都一样长。

  投入

  第一行包含两个整数:正整数n (0 n=50)给出字符串的长度;以及给出字符串数量的正整数m (0米=100).后面跟着m行,每一行包含一个长度为n的字符串。

  输出

  输出输入字符串的列表,从"排序最多"到"排序最少"。由于两个字符串可以相等地排序,那么按照原来的顺序输出它们。

  样本值输入

  10 6

  AACATGAAGG

  TTTTGGCCAA

  TTTGGCCAAA

  加特卡加特

  CCCGGGGGGA

  ATCGATGCAT

  抽样输出

  CCCGGGGGGA

  AACATGAAGG

  加特卡加特

  ATCGATGCAT

  TTTTGGCCAA

  TTTGGCCAAA

  来源

  北美中东部1998

  num[0]=INF;//初始化数字[0]为最大地址,方便后来的选择排序法输出字符串数组

  for(int I=1;我我)

  宫颈癌前病变海峡;

  //求出逆序数

  for(int j=0;j j)

  for(int k=j 1;k k)

  if (str[i][j] str[i][k])

  num[I];

  int p=0;

  //选择排序法,输出字符串数组

  for(int I=1;我我)

  for(int j=1;j j)

  如果(数字[j]数字[p])

  p=j;

  cout str[p]endl;

  num[p]=INF;//将当前数字[p]置为最大地址,方便下一个循环的比较

  系统("暂停");

  返回0;

  }

dna的排列方式,dna排列图