题目链接:传送门
水题,就是找出每个字符串的逆序数,直接用结构体存储就行
代码如下:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
struct rng{
int num;
char a[60];
}t[150];
bool cmp(rng a,rng b){
if(a.num<b.num) return 1;
else return 0;
}
int main(){
int i,j,n,m,k;
cin>>n>>m;
for(i=1;i<=m;i++){
cin>>t[i].a;
t[i].num=0;
for(j=0;j<n;j++)
for(k=j+1;k<n;k++){
if(t[i].a[j]>t[i].a[k]) t[i].num++;
}
}
sort(t+1,t+1+m,cmp);
for(i=1;i<=m;i++){
cout<<t[i].a<<endl;
}
return 0;
}