http://poj.org/problem?id=1007
这个题的考查点在于对sort排序的使用,需要sort的第三个参数改变排序的规则
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Node{
string x;
int num;
};
bool j(Node a,Node b){
if(a.num<b.num) return true;
else return false;
}
int main()
{
Node a[105];
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>a[i].x;
a[i].num=0;
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
for(int k=j+1;k<n;k++){
if(a[i].x[j]>a[i].x[k]) a[i].num++;
}
}
}
sort(a,a+m,j);
for(int i=0;i<m;i++){
cout<<a[i].x<<endl;
}
return 0;
}