比赛 板子大赛 评测结果 AAAAA
题目名称 约瑟夫问题 最终得分 100
用户昵称 AeeE5x 运行时间 0.015 s
代码语言 C++ 内存使用 3.51 MiB
提交时间 2025-01-22 11:03:42
显示代码纯文本
#include<iostream> 
using namespace std;
int n,k;
int ls[110]={-1};
int main(){
    freopen("ysf.in","r",stdin);
    freopen("ysf.out","w",stdout);
    
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) ls[i]=i;
    int nw=0;
    for(int i=1;i<=n;i++){
        for(int p=0;p<k%(n-i+1)+n-i+1;p++){
            nw=nw%n+1;
            while(ls[nw]==-1) nw=nw%n+1;
        }
        while(ls[nw]==-1) nw=(nw+n-2)%n+1;
        printf("%d\n",ls[nw]);
        ls[nw]=-1;
    }
    
    return 0;
}