View Code of Problem 126

#include<iostream>
#include<string>
#include<cstring>
#include<math.h>
#include<algorithm>
using namespace std;
int nixu(string s){
	int k=0;
	for(int i=0;i<s.length()-1;i++)
	for(int j=i+1;j<s.length();j++) {
		if(s[i]>s[j]){
			k++;
		}
	}
	return k;
}
struct node{
	string s;
	int nixu;
}arr[51];

bool cmp(node x,node y){
	
	return x.nixu<y.nixu;
}

int main(){
	int n,m;
	cin>>n>>m;
	string s;
	for(int i=0;i<m;i++){
		cin>>arr[i].s;
		arr[i].nixu=nixu(arr[i].s); 
	}
	sort(arr,arr+m,cmp);
	for(int i=0;i<m;i++){
		cout<<arr[i].s<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 126