#include<iostream> #include<algorithm> using namespace std; struct dna { string s; int re,tag; }; bool cmp(struct dna a, struct dna b){ if(a.re!=b.re) return a.re<b.re; else return a.tag<b.tag; } int main() { int n,m; while(cin>>n>>m){ struct dna a[m]; for(int i=0;i<m;++i){ int sum=0; string tmp; cin>>tmp; a[i].s=tmp; for(int j=0;j<n;++j){ for(int k=j;k<n;++k){ if(tmp[j]>tmp[k]) sum++; } } a[i].re=sum; a[i].tag=i; } sort(a,a+m,cmp); for(int i=0;i<m;++i){ cout<<a[i].s<<endl; } } return 0; } |
Double click to view unformatted code.