hdu 1029 Ignatius and the Princess IV
2016-03-16 22:39
204 查看
Ignatius and the Princess IV
题目链接:
http://acm.hdu.edu.cn/showproblem.php?pid=1029解题思路:
题目要求一个数至少出现(n+1)/2次。用cnt来记录解出现的次数,出现了正确解就令cnt自增1,不是正确解就使cnt自减1。那么,正确解对应的cnt一定是不小于1的。可以用一个极端的例子来说明下:输入3 3 3 3 3 3 2 1 5 6 8,开始当ans=3时,cnt=6,
那么继续执行num!=3了,cnt开始自减,但最终cnt=1,始终不会进入程序if(cnt==0){}内部执行了。
利用最终的cnt,还可以计算出解出现的次数。
AC代码:
#include <bits/stdc++.h> using namespace std; int main(){ int n; while(~scanf("%d",&n)){ int x,ans,cnt = 0; while(n--){ scanf("%d",&x); if(cnt == 0){ ans = x; cnt++; }else{ if(x == ans) cnt++; else cnt--; } } printf("%d\n",ans); } return 0; }
相关文章推荐
- c/C++中后缀obj/o lib/a dll/so bin文件意义
- 动态类型dynamic和动态语言运行时DLR
- Spring和SpringMVC的区别
- epoll、poll、select的比较
- 【Android 初级知识】文字颜色 背景 触摸点击 反馈色 之selector的那些事儿
- Smarty选择和循环语句的使用
- 65-题目1208:10进制 VS 2进制
- 19.ELK实时日志分析平台之Elasticsearch REST API简介
- 嘿嘿,JAVA里第一次运行单元测试成功,立存
- 如何快速的安装自己的Maven仓库---Nexus?
- spring jpa之实体属性类型转换器AttributeConverter
- 第35讲项目2——反弹的皮球
- 我的JAVA学习笔记
- ios多图下载(多线程知识)
- cocos2d-android & cocos2d-android-1
- 字节、KB、MB、GB 之间的换算关系 Bps和bps的区别
- JAVA源码学习-HashMap
- (转)工厂模式的三种情形
- 作业二(2)目前流行的源程序版本管理软件和项目管理软件都有哪些,各有什么优缺点?
- css盒子模型