基础题。
#include <cstdio>
#include <algorithm>
using namespace std;
const int MAXL = 10005;
struct player //玩家
{
int num; //序号
int score; //分数
}p[MAXL];
//排序标准
bool cmp(player p1, player p2)
{
if (p1.score != p2.score)
return p1.score > p2.score;
else
return p1.num < p2.num;
}
int main()
{
int N, M;
while (scanf("%d%d", &N, &M))
{
if (N == 0 && M == 0)
break;
for (int i = 0; i < MAXL; i++) //初始化玩家分数
{
p[i].score = 0;
}
int num;
for (int i = 0; i < N; i++) //玩家序号每出现一次,其分数加1
{
for (int j = 0; j < M; j++)
{
scanf("%d", &num);
p[num].num = num;
p[num].score++;
}
}
sort(p, p + MAXL, cmp); //排序
printf("%d", p[1].num);
for (int i = 2; i < MAXL; i++)
{
if (p[i].score == p[1].score)
printf(" %d", p[i].num);
else
break;
}
printf("\n");
}
return 0;
}
继续加油。