View Code of Problem 126

#include<iostream>
#include<cstring>
#include<algorithm>
#include<stdio.h>
#include<string.h>
using namespace std;
struct nixu{
   string str;
   int ni;
};
int d(string x)
{
    int sum=0;
    int len=x.length();
    for(int i=0;i<len-1;i++)
    {
        for(int j=i+1;j<len;j++)
            if(x[i]>x[j])
            sum++;
    }
    return sum;
}
bool cmp(nixu a,nixu b)
{
    return a.ni<b.ni;
}
int main()
{
	int n,m;
	while(cin>>n>>m)
    {
        struct nixu num[m];
        for(int i=0;i<m;i++){
            cin>>num[i].str;
            num[i].ni=d( num[i].str);
        }
        sort(num,num+m,cmp);
        for(int i=0;i<m;i++)
            cout<<num[i].str<<endl;

    }
	return 0;
}

Double click to view unformatted code.


Back to problem 126