题目要求:对DNA(给出的字符串)将逆序数即在选择排序中移动次数作为排序输出的理由。
代码:
#include <stdio.h>
char a[151][101];
int main()
{
int n,m,i,j,k,min;
int paiwei[151];
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
scanf("%s",&a[i]);
for(i=0;i<m;i++)
{
paiwei[i]=0;
for(j=0;j<n-1;j++)
{
for(k=j+1;k<n;k++)
if(a[i][k]<a[i][j]) //当后面的排序比前面大的时候 paiwei次数加1
paiwei[i]++;
}
}
for(i=0;i<m;i++)
{
min=i;
for(j=0;j<m;j++)//输出的控制
{
if(paiwei[min]>paiwei[j])
min=j;
}
printf("%s/n",a[min]);
paiwei[min]=32767;
}
return 0;
}
AC TIME: 16ms