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;
}
相关文章推荐
- 回文链表
- java基础知识篇2
- 等号赋值与memcpy的效率问题
- 使用Clean() 去掉由函数自动生成的字符串中的双引号
- npm 私服(上)
- 写了一个合并的,大家可以参考下
- Codeforces Round #361 (Div. 2) C. Mike and Chocolate Thieves 二分
- python编写IP地址与十进制IP转换脚本
- 【Leetcode】371. Sum of Two Integers
- Android简易实战教程--第七话《在内存中存储用户名和密码》
- Android简易实战教程--第七话《在内存中存储用户名和密码》
- 如何通过linux ssh远程linux不用输入密码登入
- java动态代理框架
- 使用System.Drawing.Imaging.dll进行图片的合并
- <Spark>制作Spark-On-Yarn镜像
- HTTP的会话有四个过程,请选出不是的一个()----百度2016研发工程师笔试题(六)
- 台湾清华大学彭明辉教授的研究生手册(如何阅读论文)
- (Eclipse) 安装Subversion1.82(SVN)插件
- windows的DOS窗口如何修改大小
- 创建一个会滚动的textView