View Code of Problem 126

#include<stdio.h>
#include<algorithm>
#include<iostream>
using namespace std;
struct xulie{
	string str;
	int nixushu;
}a[1000];
bool cmp(xulie a,xulie b)
{
	return a.nixushu<b.nixushu;
	
}
int zidianxu(string c)
{
	int k=0;
	for(int i=0;i<c.size();i++)
	{
		for(int j=i+1;j<c.size();j++)
		{
			if(c[i]>c[j])
			{
				k++;
			}
		}
	}
	return k;
}
int main()
{
	int m,n;
	while(scanf("%d %d",&n,&m)!=EOF)
	{
		for(int i=0;i<m;i++)
		{
			cin>>a[i].str;
			a[i].nixushu=zidianxu(a[i].str);
		}
		sort(a,a+m,cmp);
		for(int i=0;i<m;i++)
		{
			cout<<a[i].str<<endl;
		}
	}	
	return 0;
} 

Double click to view unformatted code.


Back to problem 126