Poj 1012 Joseph (约瑟夫环)
来源:互联网 发布:金麦软件 编辑:程序博客网 时间:2024/05/21 15:38
题目链接: http://poj.org/problem?id=1012
题意:
有k个坏人k个好人坐成一圈,前k个为好人(编号1~k),后k个为坏人(编号k+1~2k)
现在有一个报数m,从编号为1的人开始报数,报到m的人就要自动死去。
问当m为什么值时,可以使得在出现好人死亡之前,k个坏人先全部死掉?
思路:约瑟夫环的变形问题,前k个退出的人必定是后k个人,所以只要前k轮中只要有一次f(i)<k则此m不符合题意
这里:http://blog.chinaunix.net/uid-26943806-id-3228189.html
有我第一次做这道题时的代码,现在我都没想清楚当时是怎么想出那么复杂的判断条件的。。。
P.S.重新看当时训练赛的情况,这道题好多人都是直接打表过的啊,这不科学!!!
#include <cstdio>#include <cstring>#include <iostream>using namespace std;int ans[15],data[15];//int data[]={0,2,7,5,30,169,441,1872,7632,1740,93313,459901,1358657,2504881,1245064};void init (){for (int k=1;k<14;k++){int m=1;memset(ans,0,sizeof(ans));for (int i=1;i<=k;i++) { ans[i]=(ans[i-1]+m-1)%(2*k-i+1); if (ans[i]<k) { i=0; m++; } }data[k]=m;}}int main (){int k;init ();while (scanf("%d",&k) , k)printf("%d\n",data[k]);return 0;}
- poj 1012 Joseph(约瑟夫环)
- Poj 1012 Joseph (约瑟夫环)
- poj 1012 -- Joseph (约瑟夫环)
- poj 1012 Joseph 约瑟夫环变形
- POJ 1012 Joseph 变形约瑟夫环
- POJ 1012 Joseph 约瑟夫问题
- POJ 1012 Joseph 约瑟夫问题
- poj 1012 & hdu 1443 Joseph(约瑟夫环变形)
- POJ 题目1012Joseph(数学,约瑟夫环)
- NYOJ 191 && POJ 1012 Joseph(约瑟夫环问题)
- POJ 1012 Joseph(约瑟夫环)(枚举)
- NYOJ 191 && POJ 1012 Joseph(约瑟夫环问题)
- PKU-1012 Joseph (约瑟夫环)
- poj 1012 Joseph (约瑟夫问题)
- POJ-1012 Joseph-约瑟夫问题好人坏人
- POJ 1012 Joseph 笔记 约瑟夫问题
- 约瑟夫环(joseph)
- Joseph Circle(约瑟夫环)
- machine.run源码阅读记录---流水帐(二)
- SVM(2)
- SVM(4)
- XML C#常用操作
- mysql存储过程实例
- Poj 1012 Joseph (约瑟夫环)
- 程序员最该看的30本书---------------------------国外编辑推荐
- 数组循环左移P位源代码
- iOS 17个常用代码整理
- SVM(5)
- Win7 x64 sp1安装orcale 10g
- 将unicode转换成汉字
- SVM(6)
- HDU1754 I Hate It