#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.