#include<iostream>
using namespace std;
int John(int n, int m)
{
if (n<1||m<1)
return -1;
int *p = new int[n + 1];
p[0] = 0, p[1] = 0;
for (unsigned int i = 2; i <=n; i++)
{
p[i] = (p[i - 1] + m) % i;
}
int result = p[n];
delete[]p;
return result;
}
int main()
{
int n = 999, m = 50;
cout << John(n, m) + 2 << endl;
return 0;
}
[ACM]约瑟夫环
最新推荐文章于 2023-03-01 12:58:54 发布