hdu 5643 King's Game 约瑟夫环变形
Posted 下周LGD该赢了吧
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 5643 King's Game 约瑟夫环变形相关的知识,希望对你有一定的参考价值。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5643
题意:就是普通的约瑟夫环改成k是从1开始,每次加1,直到最后只剩下一个人,问最后剩下的那个人的编号。
思路:递推的时候修改一下k就可以了。
1 #include <bits/stdc++.h> 2 using namespace std; 3 int T; 4 int n; 5 int main() 6 { 7 // freopen("in.txt", "r", stdin); 8 // freopen("out.txt", "w", stdout); 9 scanf("%d", &T); 10 while(T--) 11 { 12 scanf("%d", &n); 13 int k = n-1; 14 int pos = 0; 15 for(int i = 2; i <= n; i++) 16 { 17 pos = (pos+k)%i; 18 k--; 19 } 20 cout<<pos+1<<endl; 21 } 22 return 0; 23 }
以上是关于hdu 5643 King's Game 约瑟夫环变形的主要内容,如果未能解决你的问题,请参考以下文章