View Code of Problem 126

#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
	int n,m;
	while(scanf("%d %d",&n,&m)!=EOF){
	char s[100][100];
	int v[100]={0};
	int i,j,k;
	for(i=0;i<m;i++){
		int num=0;
		scanf("%s",s[i]);
		for(j=0;j<n;j++){
			for(k=j+1;k<n;k++){
				if(s[i][j]>s[i][k]){
					num++;
				}
			}
		}
		v[i]=num;
	//	printf("%d\n",num);
	}
	for(i=0;i<m;i++){//顺序查找 
		int min=10000;
		int x;
		for(j=0;j<m;j++){
			if(v[j]<min&&v[j]!=-1){
				min=v[j];
				x=j;
			}
		}
		printf("%s\n",s[x]);
		v[x]=-1;
	}
	
}
	return 0;
} 

Double click to view unformatted code.


Back to problem 126