hdu 5643King's Game(约瑟夫游戏,递归)
来源:互联网 发布:ubuntu zip压缩命令 编辑:程序博客网 时间:2024/05/19 00:38
题目:
为了铭记历史,国王准备在阅兵的间隙玩约瑟夫游戏。它召来了 n(1≤n≤5000) 个士兵,逆时针围成一个圈,依次标号 1,2,3...n。第一轮第一个人从 1 开始报数,报到 1 就停止且报到 1 的这个人出局。第二轮从上一轮出局的人的下一个人开始从 1 报数,报到 2 就停止且报到 2 的这个人出局。第三轮从上一轮出局的人的下一个人开始从 1 报数,报到 3 就停止且报到 3 的这个人出局。第 n−1 轮从上一轮出局的人的下一个人开始从 1 报数,报到 n−1 就停止且报到 n−1 的这个人出局。最后剩余的人是幸存者,请问这个人的标号是多少?这道题的思路在BC官网上已经说得很详细了,这边只给出代码了:
值得注意的的是如果你要开5000*5000的数组的话会爆内存。 你可以用滚动数组,不过我懒得改了用的short int 过了。
/* ***********************************************Author :yzkAcceptedCreated Time :2016/3/16 14:48:22TASK :ggfly.cppLANG :C++************************************************ */#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <cmath>#include <cstdlib>#include <ctime>#include <stack>#include <complex>using namespace std;#define maxn 5010short int dp[maxn][maxn];void init(){int i,j;for(i=1;i<maxn;++i){for(j=1;j<maxn;++j){if(i==1)dp[i][j]=0;else{int v=j%i;int t=dp[i-1][j+1];t=(t+v)%i;dp[i][j]=t;}}}}int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); int t;scanf("%d",&t);init();while(t--){int n;scanf("%d",&n);printf("%d\n",(int)dp[n][1]+1);} return 0;}
0 0
- hdu 5643King's Game(约瑟夫游戏,递归)
- HDU 5643 King's Game 【约瑟夫环】
- HDU 5643:King's Game 约瑟夫问题
- hdu 5643 King's Game 数学 约瑟夫问题
- hdu 5643 King's Game (dp约瑟夫环)
- 约瑟夫环问题——(Hdu-5643,King's Game)
- HDU 5643 King's Game
- HDU 5643 King's Game (约瑟夫环问题的变形 递推)
- HDU 5643 bestcoder Round #75 king's game [威瑟夫问题]
- hdu5643 King's Game(约瑟夫环+线段树)
- hdu5463---King's Game
- HDU 4944 FSF’s game(计数游戏)
- hdu----King's Phone
- hdoj_5643 King's Game(约瑟夫环问题变种)----超时版本(自己模拟的循环链表)
- BestCoder Round #75 King's Game
- BestCoder Round #75 King's Game
- HDU 5640 King's Cake
- HDU 5642 King's Order
- 2016蓝桥杯假期任务之《比酒量》
- 解决QLabel显示图片扭曲的问题
- android中广播的使用(动态和静态注册)
- iOS代码强制退出程序
- JDBC编程之程序优化
- hdu 5643King's Game(约瑟夫游戏,递归)
- activiti事务和自己业务事务共同的使用
- 在不同的浏览器下FORM及它的小伙伴们默认样式的CSS属性值是不完全一致
- Java解析xml的主要解析器: SAX和DOM的选择
- linux系统设置程序开机启动(以mysql为例)
- bootstrap Model 点击确定按钮后 转到新页面
- 知乎 哪些素质很重要,却是读书学不来的?-3
- Android的源代码下载教程-android学习之旅(102)
- eclipse打jar包