您的位置:首页 > 其它

hdu 5123 who is the best?(数组处理)

2016-07-12 21:14 399 查看


who is the best?

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 929    Accepted Submission(s): 539


Problem Description

There are N people want to choose the best person. Each person select the best person ai,
.John wants to know that who received the most number of votes.

 

Input

The first line contains a single integer T(1≤T≤50),indicating
the number of test cases.

Each test case begins with an integer N(1≤N≤100),indicating
the number of person.

Next N lines contains an integer ai(1≤ai≤N).

 

Output

For each case, output an integer means who is the best person. If there are multiple answers, print the minimum index.

 

Sample Input

2
10
1
2
3
4
5
6
7
8
9
10
5
3
3
3
3
3

 

Sample Output

1
3

题意:T个测试样例,每个测试样例有n个人,每个人有自己喜欢的一个人,一次输入1~n号人喜欢的人的编号

问谁被最多人喜欢,如果有重复的,输出序号最小的

思路: 用数组保存,找最大的,相同则比较编号即可

代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define N 200
int a
;
int main()
{
int T,n,t;
scanf("%d",&T);
while(T--)
{
memset(a,0,sizeof(a));
scanf("%d",&n);
int maxn=-1,v;
for(int i=0;i<n;i++)
{
scanf("%d",&t);
a[t]++;
}
for(int i=1;i<=n;i++)
{
if(maxn<a[i])
{
maxn=a[i];
v=i;
}
if(maxn==a[t]&&v>i)
v=i;
}
printf("%d\n",v);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: