本文主要是介绍poj-1012 Joseph,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
http://poj.org/problem?id=1012
记得这事刚学数据结构链表的经典题目
水过题数吧~
#include<iostream>
#include <cstdio>
using namespace std;
int J[14];
int k;
void init()
{for(int k=1; k<14; k++){int n=2*k;int ans[30]= {0};int m=1;for(int i=1; i<=k; i++){ans[i]=(ans[i-1]+m-1)%(n-i+1);//n-i为剩余的人数if(ans[i]<k){i=0;m++;}}J[k]=m;}
}
int main()
{init();while(~scanf("%d",&k)){if(!k)break;printf("%d\n",J[k]);}return 0;
}
这篇关于poj-1012 Joseph的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!