0
点赞
收藏
分享

微信扫一扫

51nod 5173 约瑟夫环

流计算Alink 2022-07-15 阅读 71


题目链接:​​传送门​​​
不用链表循环,直接用数学方法
f(n)=(f(n-1)+k)%n
代码如下:

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 1000010
int a[N];
int main(){
int i,j,n,m,k;
while(scanf("%d%d",&n,&k)!=EOF){
a[1]=0;
for(i=2;i<=n;i++){
a[i]=(a[i-1]+k)%i;
}
cout<<a[n]+1<<endl;
}
return 0;
}


举报

相关推荐

0 条评论