#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> typedef struct DNA{ char str[55]; int cnt; }dna; int main() { int n,m,rever; while(scanf("%d %d",&n,&m)!=EOF){ dna d[m]; for(int i=0;i<m;i++){ scanf("%s",d[i].str); rever=0; for(int j=0;j<n;j++){ for(int k=j+1;k<n;k++){ if(d[i].str[j]>d[i].str[k]){ rever++; } } } d[i].cnt=rever; } for(int i=m-1;i>0;i--){ int flag=0; for(int j=0;j<i;j++){ if(d[j].cnt>d[j+1].cnt){ dna tmp; tmp=d[j]; d[j]=d[j+1]; d[j+1]=tmp; flag=1; } } if(flag==0){ break; } } for(int i=0;i<m;i++){ printf("%s\n",d[i].str); } } return 0; } |
Double click to view unformatted code.