POJ 2244 约瑟夫问题的变形 已知最后胜利者逆推模拟
2010-11-20 00:04
459 查看
#include <iostream> using namespace std; //要求第一个人就必须报数,因此第一个人总是最先被删除的。 //因此可以把该问题看成是n-1个人的问题。题目就转变为, //在n-1个人的规模下,满足0号是最后胜利者的最小的M。 int main(){ int i,n,m,k; while(cin>>n,n){ for(m = 1;;m++) { k = 0; for (i = 2; i < n;i++) k = (k+m)%i;//k是每次的最后胜利者,向前逆推被删者 if (k == 0) { cout<<m<<endl; break; } } } return 0; }
相关文章推荐
- POJ 2244:Eeny Meeny Moo(稍加变形的约瑟夫问题)
- poj 2244(约瑟夫问题。。。)
- poj2211 约瑟夫问题变形 递归法
- POJ 3517 And Then There Was One (递推,约瑟夫问题变形)
- POJ-2244 约瑟夫问题
- POJ 2244 再谈约瑟夫问题
- 1.13 POJ 3517 2244 1781 约瑟夫问题
- 约瑟夫问题及变形:poj 1012
- POJ 2472 106 miles to Chicago(Dijstra变形——史上最坑的最长路问题)
- poj-1012-约瑟夫问题
- POJ 1012 约瑟夫问题
- POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
- ACM: 线段树 poj 2886 约瑟夫问题
- POJ-3750 小孩报数问题-约瑟夫问题
- poj1321--棋盘问题(搜索练习2,变形的八皇后问题)
- 约瑟夫问题及其变形
- POJ 3615 牛的最小最大起跳高度问题 Floyd算法的变形应用
- poj 3311 Hie with the Pie 旅行商问题变形 记录最短路径压缩状态
- 约瑟夫问题POJ
- POJ 2746:约瑟夫问题