poj1721

题解:

直接暴力循环节

然后再做几次

代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
;
int n,s,p[N],a[N],B[N];
void GetNext(int n)
{
    ;i<=n;i++)B[i]=a[a[i]];
    ;i<=n;i++)a[i]=B[i];
}
int IsSame(int n)
{
    ;i<=n;i++)
     ;
    ;
}
int main()
{
    while (~scanf("%d%d",&n,&s))
     {
        ;i<=n;i++)scanf("%d",&p[i]),a[i]=p[i];
        int res;
        ;;res++)
         {
            GetNext(n);
            if (IsSame(n))break;
         }
        int m=res-s%res;
        while (m--)GetNext(n);
        ;i<=n;i++)printf("%d\n",B[i]);
     }
    ;
}  
上一篇:Codeforces Round #237 (Div. 2) A


下一篇:Google正确搜索方法