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 约瑟夫环变形的主要内容,如果未能解决你的问题,请参考以下文章

HDU 5643 King's Game | 约瑟夫环变形

hdu5643, 递归求解约瑟夫环问题

hdu 5640 King's Cake(模拟)

hdu-5641 King's Phone (水题)

hdu-5642 King's Order(数位dp)

hdu 5642 King's Order(数位dp)