1. 程式人生 > >ACM選票統計(C語言)

ACM選票統計(C語言)

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


01. #include <stdio.h> 
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. }