直接模拟
- //============================================================================
- // Name : 1007.cpp
- // Author : kevin
- // Version :
- // Copyright : copyright @ kevin
- // Description : Hello World in C++, Ansi-style
- //============================================================================
- #include <iostream>
- #include<string>
- #include<algorithm>
- using namespace std;
- typedef struct{
- string s;
- int count;
- }DNA;
- int measure(string s,int no){
- int count=0;
- for(int i=0;i<no-1;i++){
- if(s[i]=='A')
- continue;
- for(int j=i+1;j<no;j++){
- if(s[i]>s[j])
- count++;
- }
- }
- return count;
- }
- bool cmp(DNA dna1,DNA dna2){
- return dna1.count<dna2.count;
- }
- int main() {
- const int MAX=600;
- int no,line;
- DNA dna[MAX];
- cin>>no>>line;
- for(int i=0;i<line;i++){
- cin>>dna[i].s;
- dna[i].count=measure(dna[i].s,no);
- }
- sort(dna,dna+line,cmp);
- for(int i=0;i<line;i++){
- cout<<dna[i].s<<endl;
- }
- return 0;
- }