hdu 1004(排序+统计)

//排序+统计
#include <cstdio>
#include <cstring>
#include <iostream>

using namespace std;

char str[1000][16];

int cmp(const void *a, const void *b) {
return strcmp((char *)a, (char *)b);
}

int solve(int n) {
char temp[16];
int i, c, maxs, mi;
qsort(str, n, sizeof(str[0]), cmp);
strcpy(temp, str[0]);
c = 1;
maxs = -1;
mi = -1;
for (i=1; i<n; ++i) {
if (strcmp(temp, str[i]) == 0) ++c;
else {
if (maxs < c) {
maxs = c;
mi = i - 1;//注意
}
c = 1;
strcpy(temp, str[i]);
}
}
if (maxs < c) {
maxs = c;
mi = i - 1;//注意
}
return mi;
}

int main() {
int n;
while (scanf("%d", &n), n) {
int i;
for (i=0; i<n; ++i) scanf ("%s", str[i]);
int index = solve(n);
printf ("%s\n", str[index]);
}
return 0;
}

 

posted on 2012-04-03 20:40  Try86  阅读(156)  评论(0)    收藏  举报