View Code of Problem 126

#include<stdio.h>
#include<string.h>
struct s{
	char d[100];
	int cnt;
}dna[100],temp;
int main()
{
	int i,j,n,m,s;
	int count;
	while(scanf("%d%d",&n,&m)!=EOF)//m个数 
	{
		for(i=0;i<m;i++)
		{
			scanf("%s",dna[i].d);
		}
		
		for(i=0;i<m;i++)
		{ 
		    count=0;
			for(j=0;j<n-1;j++)
			{
				    for(s=j+1;s<n;s++)
				    {
				    	if(dna[i].d[j]>dna[i].d[s])
				    	      {
							   count++;
						      }
					}
					

			}
			dna[i].cnt=count;
		}
		
		for(i=0;i<m-1;i++)
	       for(j=0;j<m-1-i;j++)
            	if(dna[j].cnt>dna[j+1].cnt)
	     {
	               temp=dna[j];
	               dna[j]=dna[j+1];
	               dna[j+1]=temp;
     	}
		
		for(i=0;i<m;i++)
		
			printf("%s\n",dna[i].d);
		
		
	}
	return 0;
 }

Double click to view unformatted code.


Back to problem 126