View Code of Problem 126

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