View Code of Problem 126

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

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

int main(){
	int n,m;
	cin>>n>>m;
	string s;
	for(int i=0;i<m;i++){
		cin>>arr[i].s;
		arr[i].ni=nixu(arr[i].s,n); 
	}
	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