#include <stdio.h>
#include <string.h>
int GetInvValue(char x[], int len) {
int inv = 0;
for (int i = 0; i < (len - 1); i++) {
for (int j = (i + 1); j < len; j++) {
int a, b;
a = x[i];
b = x[j];
if (a > b) {
inv += (a-b);
}
}
}
return inv;
}
int main() {
int len, n;
char c[100][51];
scanf("%d%d", &len, &n);
for (int i = 0; i < n; i++) {
scanf("%s",c[i]);
}
for (int j = 0; j < n-1; j++) {
char temp[51];
for (int i = 0; i < n-1-j;i++) {
if (GetInvValue(c[i], len) > GetInvValue(c[i+1], len)) {
//printf("\n--%s vs %s", c[i], c[i + 1]);
strcpy(temp, c[i + 1]);
strcpy(c[i + 1],c[i]);
strcpy(c[i], temp);
//printf("comes to %s vs %s--\n",c[i],c[i+1]);
}
}
}
//for (int j = 0; j < n; j++) {
// printf("%s\n", c[j]);
// getchar();
//}
printf("%s\n", c[0]);
for (int i = 1; i < n; i++) {
printf("%s\n", c[i]);
//getchar();
}
//getchar();
}
网友评论