2016年7月25日
选票统计
Time Limit: 1000MS Memory limit: 65536K
题目描述
某校学生会主席由全校学生投票选举产生,共有m名候选人报名参选,编号为1到m(0<m<1000),全校有n名学生(0<n<30000),每人都可以投票。但每人只能投一票,每票只能选1名候选人。请你设计一个程序能够统计出哪个候选人得票最高,得了多少票。不会出现得票数相同的情况。
输入
第一行输入候选人数m和学生数n,以空格分开;
下面依次输入每个学生所选的候选人的编号。
下面依次输入每个学生所选的候选人的编号。
输出
第一行输出得票最多的候选人编号;
第二行输出该候选人所得的票数。
第二行输出该候选人所得的票数。
示例输入
3 10 1 2 3 2 3 1 2 3 1 3
示例输出
3 4
02. #include <stdlib.h>
03.
04. int main()
05. {
06. struct st
07. {
08. int ps;
09. };
10. struct st p[1001];
11. int m,n,i,c,max,b;
12. scanf("%d%d",&m,&n);
13. for(i=1;i<=n;i++)
14. {
15. p[i].ps=0;
16. scanf("%d",&c);
17. p[c].ps=p[c].ps+1;
18. }
19. max=p[1].ps;b=1;
20. for(i=2;i<=m;i++)
21. if(p[i].ps>max)
22. {max=p[i].ps;b=i;}
23. printf("%d\n%d\n",b,max);
24. return 0;
25. }