#include<iostream> #include<cmath> #include<cstring> #include<algorithm> using namespace std; struct node{ char ch[50]; int num; }; bool cmp(node a,node b){ return a.num<b.num; } int main() { int n,m; cin>>n; cin>>m; node ww[100]; for(int i=0;i<m;i++){ //scanf("%s",ww[i].ch); cin>>ww[i].ch; int count=0; for(int j=0;j<n;j++){//比较字母大小,计算反转数 for(int p=j+1;p<n;p++) if(ww[i].ch[j]>ww[i].ch[p]) count++; } ww[i].num=count; } sort(ww,ww+m,cmp); for(int i=0;i<m;i++) //printf("%s \n",ww[i].ch); cout<<ww[i].ch<<endl; return 0; } |
Double click to view unformatted code.