题目地址
AC代码
#include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int len,n;
cin>>len>>n;
int list[n];
string temp;
vector<string>ans;
memset(list,0, sizeof(list));
for (int i = 0; i < n; ++i) {
cin>>temp;
ans.push_back(temp);
for (int j = 0; j < temp.length(); ++j) {
for (int k = j+1; k < temp.length(); ++k) {
if(temp[j]>temp[k])list[i]++;
}
}
temp="";
}
for (int l = 0; l < n; ++l) {
int mini = 100000,pos=0;
for (int i = 0; i < n; ++i) {
if(list[i]!=-1&&list[i]<mini){
mini =list[i];
pos=i;
}
}
list[pos]=-1;
cout<<ans[pos]<<endl;
}
return 0;
}
题解和题目思路
纯粹的模拟题没什么好说的·····