#include<iostream> #include<string> #include<cctype> #include<cmath> #include<algorithm> using namespace std; typedef struct { string s; int id; } sp; bool cmp(sp s1,sp s2) { return s1.id < s2.id; } int nixu(string s) { int ans=0,i,j; for( i=0;i<s.size();i++ ) { for( j=i+1;j<s.size();j++ ) { if( s[i] > s[j] )ans++; } } return ans; } int main() { int ans,len,m,i; while( cin>>len>>m ) { sp aa[m]; for( i=0;i<m;i++ ) { cin>>aa[i].s; aa[i].id = nixu(aa[i].s); } sort(aa,aa+m,cmp); for( i=0;i<m;i++ )cout<<aa[i].s<<endl; } } |
Double click to view unformatted code.