PKU 1007 DNA Sorting
#include <vector> #include <string> #include <iostream> #include <algorithm> using namespace std; class dna { public: string seq; int unsortedness; int getuns(){ unsortedness = 0; for(int i = 0, l = seq.size() - 1; i < l; i++){ for(int j = i + 1, m = l + 1; j < m; j++){ if(seq[i] > seq[j]) unsortedness++; } } return unsortedness; } dna(string str){ seq = str; getuns(); } int operator<(const dna& src) const { if(unsortedness < src.unsortedness) return 1; else return 0; } }; int main(){ vector<dna> lst; int n, m; cin>>n; cin>>m; for(int i = 0; i < m; i++){ string s; cin>>s; lst.push_back(s); } stable_sort(lst.begin(), lst.end()); for(int i = 0; i < m; i++){ cout<<lst[i].seq<<endl; } return 0; }
最初algorithmをincludeするのを忘れてCompile Errorされるっていう酷いヘマをやった。