约瑟夫环问题
傻笨
这个作者很懒,什么都没留下…
展开
-
宁波题库
代码如下:#include #include int main(){ int n,m,i; while(scanf("%d%d",&n,&m)!=EOF) { int s=0; for(i=2; i s=(s+m)%i; printf("%d\n",s+1);原创 2013-05-21 20:28:26 · 861 阅读 · 0 评论 -
HDU 2925
方法一,超时:#include #include #include const int maxn=1000000;using namespace std;int a[maxn];int main(){ int n,d,i,*p; while(scanf("%d%d",&n,&d)!=EOF&&n!=0&&d!=0) {原创 2013-05-21 19:35:20 · 665 阅读 · 0 评论 -
HDU 2211
设f(N,K)返回最后取出的编号那么f(n,k)进行第一次选后,剩下n-n/k个人,这剩下的人里最后被取出的编号为f(n-n/k,k)记为x那么它在前一次队列里的编号则是(x-1)/(k-1)+x所以f(n,k)=(x-1)/(k-1)+x 其中x=f(n-n/k,k)#include#include using namespace std;int killnum(int tot转载 2013-05-21 20:54:23 · 1073 阅读 · 0 评论