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