View Code of Problem 126

#include<stdlib.h>
#include<stdio.h>
 
int main(){
	int n,m;
	while((scanf("%d %d",&n,&m)!=EOF)){
		char str[110][51];
		int order[110];
		getchar();
		for(int i=0;i<m; i++){
			gets(str[i]);
			int count=0;
			for(int k=0; k<n-1; k++){
				char temp = str[i][k]; 
				for(int z=k+1; z<n; z++){
					if(temp>str[i][z])
						count++;
				}
		
			}
			order[i]=count;
		}
		int i = m;
		while(i){
			int min = 0;
			for(int k=0; k<m; k++){
				if(order[min]>order[k])
					min = k;
			}
			printf("%s\n",str[min]);
			i--;
			order[min]=99999;
		}
	}
 
 
	return 0;
}

Double click to view unformatted code.


Back to problem 126