#include<iostream> #include<cstring> #include<algorithm> #include<stdio.h> #include<string.h> using namespace std; struct nixu{ string str; int ni; }; int d(string x) { int sum=0; int len=x.length(); for(int i=0;i<len-1;i++) { for(int j=i+1;j<len;j++) if(x[i]>x[j]) sum++; } return sum; } bool cmp(nixu a,nixu b) { return a.ni<b.ni; } int main() { int n,m; while(cin>>n>>m) { struct nixu num[m]; for(int i=0;i<m;i++){ cin>>num[i].str; num[i].ni=d( num[i].str); } sort(num,num+m,cmp); for(int i=0;i<m;i++) cout<<num[i].str<<endl; } return 0; } |
Double click to view unformatted code.