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

经典约瑟夫环

 int f[N] ={  };
for(int i=; i<=n; i++)
{
f[i] = (f[i-] + k) % i;
}

变形:k是变化的

#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm>
#include <stdlib.h>
#include <queue>
#include <map> using namespace std; typedef long long LL; #define met(a, b) memset(a, b, sizeof(a))
#define INF 0x3f3f3f3f
#define N 5210 int main()
{
int T, n, f[N] = { }; scanf("%d", &T); while(T--)
{
scanf("%d", &n); int k = n-; for(int i=; i<=n; i++)
{
f[i] = (f[i-] + k) % i; k --;
}
printf("%d\n", f[n] + );
}
return ;
}
上一篇:摘抄官方文档: spring boot配置 iframe同源可访问


下一篇:hdu 5643 King's Game 约瑟夫变形