View Code of Problem 126

#include<cstdio>
#include<cstring>
#include<cmath>
#include<iostream>
#include<algorithm>
#define N 100
using namespace std;
struct DNA
{
	char len[50];
	int num;
};
int nizhi(char str[])
{
	int n,i,j;
	for(i=0;i<strlen(str);i++)
		for(j=i+1;j<strlen(str);j++)
		{
			if(str[i]>str[j])
				n++;
		}
	return n;
}
bool cmp(DNA a,DNA b)
{
	return a.num<b.num;
}
int main()
{
	int n,m;;
	while(scanf("%d%d",&n,&m)!=EOF)
	{
		char str[m][n];
		int i,j;
		struct DNA dna[m];
		for(i=0;i<m;i++)
		{
			scanf("%s",&dna[i].len);
			dna[i].num=nizhi(dna[i].len);
		}
		sort(dna,dna+m,cmp);
		for(i=0;i<m;i++)
			printf("%s\n",dna[i].len);
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 126