UVALive

来源:互联网 发布:python二分法 编辑:程序博客网 时间:2024/06/08 08:15

And Then There Was One

 UVALive - 3882 

n个人围成一圈,第一次删第m个人,然后每数K个删一个人,求最后一个人的编号


#include <iostream>#include <bits/stdc++.h>using namespace std;const int N = 1e6+7;typedef long long LL;int f[N];int n, m;int main(){    int n, m, k;    while(scanf("%d %d %d", &n, &k, &m),n!=0&&m!=0&&k!=0)    {        f[1]=0;        for(int i=2;i<=n;i++) f[i]=(f[i-1]+k)%i;        int ans=((m-k+1+f[n])%n+n)%n;        if(ans==0) ans=n;        cout<<ans<<endl;    }    return 0;}



0 0
原创粉丝点击