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