View Code of Problem 126

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

Double click to view unformatted code.


Back to problem 126