#include <stdio.h> #include <string.h> int m,n; int NX(char *s); int main(void) { int i,len,j,t; char s[100],temp[100]; char ps[100][50]; int nx[100]; scanf("%d %d", &n, &m); getchar(); for (i=0; i<m; i++) { scanf("%s", &ps[i]); nx[i] = NX(ps[i]); } for (i=0; i<m; i++) printf("%d\n", nx[i]); for (i=0; i<m-1; i++) for (j=0; j<m-1-i; j++) if (nx[j]>nx[j+1]) { t=nx[j]; nx[j]=nx[j+1]; nx[j+1]=t; strcpy(temp,ps[j]); strcpy(ps[j],ps[j+1]); strcpy(ps[j+1],temp); } for (i=0; i<m; i++) puts(ps[i]); return 0; } int NX(char *s) { int i,j,sum=0; for (i=0; i<n; i++) for (j=i+1; j<n; j++) { if (s[i]>s[j]) sum++; } return sum; } |
Double click to view unformatted code.