View Code of Problem 126

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct alpha{
	char str[100];
	int p;
}al[105];
bool cmp(alpha a, alpha b){
	return a.p<b.p;
}
int main (){
	int n, m;
	while(~scanf("%d%d", &n, &m)){
		for(int i = 0;i < m;i++){
			scanf("%s", al[i].str);
		}
		for(int i = 0;i < m;i++){
			int t = 0;
			for(int j = 0;j < n;j++){
				for(int k = j+1;k < n;k++){
					if(al[i].str[j]>al[i].str[k]){
						t++;
					}
				}
			}
			al[i].p = t;
		}
		sort(al, al+m, cmp);
		for(int i = 0;i < m;i++){
			printf("%s\n", al[i].str);
		}
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 126