View Code of Problem 126

#include <iostream>
#include <string>
#include <cstdio>
#include <algorithm>

using namespace std;
struct dna{
	string ss;
	int num;
};
int getsort(int n,string ss){
	int count=0;
	for(int i=0;i<n;i++){
		for(int j=i+1;j<n;j++){
			if(ss[i]>ss[j])
				count++;
		}
	}
	return count; 
}
bool cmp(dna a,dna b){
	return a.num<b.num;
	
}
int main(){
	int n,m;
	while(cin>>n>>m){
		dna dds[m];
		for(int i=0;i<m;i++){
			cin>>dds[i].ss;
			dds[i].num=getsort(n,dds[i].ss);
//			cout<<dds[i].num<<endl;
		}
		sort(dds,dds+m,cmp);
		for(int i=0;i<m;i++){
			cout<<dds[i].ss<<endl;
		}	
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 126