1033.继续XXX定律
来源:互联网 发布:帝国cms商城模板 编辑:程序博客网 时间:2024/05/29 17:29
题目描述:
当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字a[i],根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输出输入的n个数中的关键数。如果其中有多个关键数的话按照其输入顺序的逆序输出。
输入:
输入数据包含多个用例,每个用例首先包含一个整数n,然后接下来一行有n个整数a[i],其中: 1<=n<=500, 1<a[i]<=1000
输出:
请计算并输出数组a中包含的关键数,并按照其输入顺序的逆序输出,每个用例输出占一行。
样例输入:
3
3 8 4
5
3 8 4 7 15
5
3 8 4 15 7
0
样例输出:
3
15 7 3
当n为3时,我们在验证xxx定律的过程中会得到一个序列,3,5,8,4,2,1,将3称为关键数,5,8,4,2称为覆盖数。现在输入n个数字a[i],根据关键数与覆盖数的理论,我们只需要验证其中部分数就可以确定所有数满足xxx定律,输出输入的n个数中的关键数。如果其中有多个关键数的话按照其输入顺序的逆序输出。
输入:
输入数据包含多个用例,每个用例首先包含一个整数n,然后接下来一行有n个整数a[i],其中: 1<=n<=500, 1<a[i]<=1000
输出:
请计算并输出数组a中包含的关键数,并按照其输入顺序的逆序输出,每个用例输出占一行。
样例输入:
3
3 8 4
5
3 8 4 7 15
5
3 8 4 15 7
0
样例输出:
3
15 7 3
7 15 3
注意,这里介绍了一种最后一个数字不输出空格的方法。
#include <iostream>#include <set>#include <vector>using namespace std;int main(){ int n; vector<int> ivec; set<int> iset; while(cin >> n && n) { for(int i = 1; i <= n; ++i) { int tmp; cin >> tmp; ivec.push_back(tmp); while(1) { if(tmp == 1) { iset.insert(tmp); break; } else if(tmp % 2 == 0) { tmp /= 2; iset.insert(tmp); } else { tmp = (tmp * 3 + 1) / 2; iset.insert(tmp); } } } bool flag = 0; for(int i = ivec.size() - 1; i >= 0; --i) { if(iset.find(ivec[i]) == iset.end()) { if(flag) cout << " "; cout << ivec[i]; flag = 1; } } cout << endl; iset.clear(); ivec.clear(); } return 0;}
0 0
- 1033.继续XXX定律
- hdoj3784继续xxx定律
- zju2009_继续xxx定律
- HDU3784:继续xxx定律
- HDOJ3784 继续xxx定律
- 继续xxx定律
- 继续xxx定律
- 继续xxx定律
- 继续XXX定律
- hdu 3784 继续xxx定律
- HDU-3784继续xxx定律
- 题目1033:继续xxx定律
- hdu-3784-继续XXX定律
- 题目1033:继续xxx定律
- 题目1033:继续xxx定律
- hdu 3874 继续xxx定律
- hdu 3784 继续xxx定律
- 继续xxx定律 hdoj 3784
- 域名匿名注册-SEO
- java异常机制和异常处理原则(转)
- 黑马程序员——交通灯学习日记
- 总结
- 百度质量部电面有感
- 1033.继续XXX定律
- eclipse从数据库逆向生成Hibernate实体类(eclipse中反向生成hibernate实体类+jpa注释)
- HDU 1240 Asteroids!(BFS)
- editplus配置python开发环境
- 并查集
- JS学习之路(三)
- 南阳理工OJ_题目1023 还是回文
- Java虚拟机工作原理详解
- 背景音乐提高能力找回自我