POJ 3517 找规律、递推

来源:互联网 发布:人工智能 在线课程 编辑:程序博客网 时间:2024/05/22 00:14
#include"iostream"#include"stdio.h"#include"vector"#include"functional"#include"string"#include"cstring"#include"algorithm"#include"queue"#include"set"#define f1 cout<<"fuck1"<<endl;#define f2 cout<<"fuck2"<<endl;using namespace std;typedef pair<int,int> pii;typedef vector<int> vi;const int maxn=20000;int main(){    //freopen("b.in","r",stdin);   // freopen("b.out","w",stdout);    int f[maxn];    int n,m,k;    while(cin>>n>>k>>m&&(n+k+m))    {        f[1]=0;            //从0开始 然后找规律        for(int i=2;i<=n;i++)            f[i]=(f[i-1]+k)%i;         int ans=(f[n]+m-k)%n;  //m-k是距离 加上从0开始算出来的最后一个人的位置然后对n取余因为k可能很大        if(ans<0) ans+=n;        cout<<ans+1<<endl; //结果加一    }}

0 0