View Code of Problem 126

#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;

typedef struct{
	char s[50];
	int num;
}DNA;

bool cmp(DNA a,DNA b){
	return a.num<b.num;
}

int fun(char s[]){
	int num=0;
	for(int i=0;i<strlen(s);i++){
		for(int j=i;j<strlen(s);j++){
			if(s[i]>s[j]){
				num++;
			}
		}
	}
	return num;
}

int main(){
	int n,m;
	while(cin>>n>>m){
		DNA d[m];
		for(int i=0;i<m;i++){
			cin>>d[i].s;
			d[i].num=fun(d[i].s);
		}
		sort(d,d+m,cmp);
		for(int i=0;i<m;i++){
			cout<<d[i].s<<endl;
		}	
	}
}

Double click to view unformatted code.


Back to problem 126