思路虽易,但对数据整合能力有一定要求。
1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<algorithm> 6 using namespace std; 7 struct node{ 8 char str[50]; 9 int times; 10 }b[100]; 11 bool cmp(node a,node b){ 12 return a.times<b.times; 13 } 14 int main(){ 15 int N,M; 16 cin>>N>>M; 17 for(int i=0;i<M;i++) 18 cin>>b[i].str; 19 for(int k=0;k<M;k++){ 20 b[k].times=0; 21 for(int i=0;i<N;i++) 22 for(int j=i+1;j<N;j++){ 23 if(b[k].str[i]>b[k].str[j]) 24 b[k].times++; 25 } 26 } 27 sort(b,b+M,cmp); 28 for(int i=0;i<M;i++){ 29 cout<<b[i].str<<endl; 30 } 31 return 0; 32 }