HDU 1029 Ignatius and the Princess IV

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 1029 Ignatius and the Princess IV相关的知识,希望对你有一定的参考价值。

找出现次数最多的数

因为n是个奇数,所求的数个数至少出现(n+1)/2次,每次去掉两个不一样的最后剩下的那个数一定是正确答案。。。

其实还可以用其他解法,因为除了所求的数字,其他的数字出现次数小于(n+1)/2,因此输出唯一的次数大于(n+1)/2的数就ac了(很简单吧=.=)

 

 1 #include <iostream>
 2 #include <cstdio>
 3 #include <cstring>
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     int n,t;
 9     int tmp,cmp;
10     while(~scanf("%d",&n)){
11         cmp=0;
12         for(int i=0;i<n;i++){
13             scanf("%d",&tmp);
14             if(cmp == 0){
15                 cmp=1;
16                 t=tmp;
17             }
18             else{
19                 if(t==tmp)
20                     cmp++;
21                 else
22                     cmp--;
23             }
24         }
25         printf("%d\n",t);
26     }
27     return 0;
28 }

 

以上是关于HDU 1029 Ignatius and the Princess IV的主要内容,如果未能解决你的问题,请参考以下文章

[2016-03-27][HDU][1029][Ignatius and the Princess IV]

HDU 1029: Ignatius and the Princess IV

HDU 1029 Ignatius and the Princess IV

HDU 1029 Ignatius and the Princess IV

hdu-1029-Ignatius and the Princess IV

HDU 1029 Ignatius and the Princess IV (map的使用)