hdu1210:Eddy's 洗牌问题
来源:互联网 发布:程序员薪资15*15 编辑:程序博客网 时间:2024/06/05 21:15
Eddy's 洗牌问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3281 Accepted Submission(s): 2197
Problem Description
Eddy是个ACMer,他不仅喜欢做ACM题,而且对于纸牌也有一定的研究,他在无聊时研究发现,如果他有2N张牌,编号为1,2,3..n,n+1,..2n。这也是最初的牌的顺序。通过一次洗牌可以把牌的序列变为n+1,1,n+2,2,n+3,3,n+4,4..2n,n。那么可以证明,对于任意自然数N,都可以在经过M次洗牌后第一次重新得到初始的顺序。编程对于小于100000的自然数N,求出M的值。
Input
每行一个整数N
Output
输出与之对应的M
Sample Input
201
Sample Output
202
Author
Eddy
Source
杭电ACM省赛集训队选拔赛之热身赛
Recommend
Eddy | We have carefully selected several similar problems for you: 1214 1215 1211 1212 1201
不多说了,代码如下:
#include<iostream>#include<cstdio>#include<string>#include<stack>#include<functional>#include<queue>#include<algorithm>using namespace std;const int MAXN = 200001;int f[MAXN];int main(){ int n, m; int i; freopen("in.txt", "r", stdin); while (cin >> n){ for (i = 1; i <= n; i++){ f[i] = 2 * i; f[n+i] = 2 * i - 1; } int x = 1; int num = 0; while (x != (n + 1)&& x != 2 * n){ x = f[x]; num++; } if(x==(n+1))cout<<num+1<<endl;elsecout<<2*num<<endl; } return 0;}
0 0
- hdu1210:Eddy's 洗牌问题
- HDU1210 Eddy's 洗牌问题
- Eddy's 洗牌问题 HDU1210
- hdu1210 Eddy's 洗牌问题 水题
- HDU1210 Eddy's 洗牌问题【规律】
- HDU1210---Eddy's 洗牌问题 HDU(89)
- HDU1210 Eddy's 洗牌问题【递推函数+模拟】
- Eddy's 洗牌问题
- Eddy's 洗牌问题
- Eddy's 洗牌问题
- hdu_1210 Eddy's 洗牌问题
- hdu Eddy's 洗牌问题
- hdu Eddy's 洗牌问题
- hdu 1210 Eddy's 洗牌问题
- HDU 1210 Eddy's 洗牌问题
- hdu 2110 Eddy's 洗牌问题
- HDU 1210 Eddy's 洗牌问题
- HDU 1210 Eddy's 洗牌问题
- memcached各种应用分析
- 计算机网络【八】:应用层
- [算法9]shuffle算法
- Calendar的用方法
- keystone 导入数据出错
- hdu1210:Eddy's 洗牌问题
- 在ERP中学到的知识(请假单环节)
- #define 与 typedef 的差异
- c#中string与byte[]的转化
- ibatis +spring+struts2+jquery.autocomplete实现产品自动补全功能(二) 附带源码
- 解决ubuntu 14.04 登陆phpmyadmin出现缺少mcrypt扩展的错误
- eclipse启动项目报内存溢出错误
- 七步快捷构建基于点聚AIP模板文件的单据审批流程说明
- 系统时间的显示