题目链接:http://poj.org/problem?id=1007
//C++代码
#include<iostream>
#include<algorithm>
using namespace std;
struct DNA{
char c[55];
int len,id;
bool operator <(const DNA a) const{
if(len==a.len) return id<a.id;
return len<a.len;
}
}p[105];
int main(){
int n,m,i,j,k;
cin>>n>>m;
for(i=0;i<m;i++){
cin>>p[i].c;
p[i].id=i;
p[i].len=0;
for(j=0;j<n-1;j++){
for(k=j+1;k<n;k++){
if(p[i].c[j]>p[i].c[k]) p[i].len++;
}
}
}
sort(p,p+m);
for(i=0;i<m;i++) cout<<p[i].c<<endl;
return 0;
}