View Code of Problem 126

#include<iostream>
#include<string>
#include<cmath>
#include<iomanip>
#include<vector>
#include<cstring>
#include<algorithm>
using namespace std;
typedef struct dna{
	string name;
	int cnt;
}dna;
bool cmp(dna a, dna b)
{
	return a.cnt < b.cnt;
}
int main()
{
	int n, m;
	dna a[101];
	while (cin >> n >> m)
	{
		for (int k = 0;k < m;k++)
		{
			cin >> a[k].name;
			a[k].cnt = 0;
			for (int i = 0;i < n;i++)
			{
				for (int j = i + 1;j < n;j++)
				{
					if (a[k].name[i] > a[k].name[j])
						a[k].cnt++;
				}
			}
			//cout << a[k].cnt << endl;
		}
		sort(a,a+m, cmp);
		for (int i = 0;i < m;i++)
			cout << a[i].name << endl;
	}

}

Double click to view unformatted code.


Back to problem 126