利用Multimap的简单实现:
/*
POJ 1007
Version: 1.0(Accepted)
Date: 2019/3/21
Author: Albert Tian
Email: 1210772718@qq.com
*/
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
multimap<int, string> mIS ;//less<>
int n, m;
cin >> n >> m;
while (m--) {
string sCin;
cin >> sCin;
int nCount=0; //{ {'A',1,},{'C',2},{'G',3},{'T',4} }
for (int i=0; i < n; ++i) {
for (int j = i+1; j < n; ++j)
if (sCin.at(i) > sCin.at(j))++nCount;
}
mIS.insert(pair<int,string>(nCount,sCin));
}
for (multimap<int, string>::iterator pos = mIS.begin(); pos != mIS.end(); pos++) {
cout << pos->second << endl;
}
return 0;
}