为什么Subtask #3第九个点过不了,求调
查看原帖
为什么Subtask #3第九个点过不了,求调
448873
Pig_py楼主2021/12/24 21:34
#include<cstdio>
inline int read(){
	int x=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9'){
		if(ch=='-')f=-1;
		ch=getchar();
	}
	while(ch>='0'&&ch<='9'){
		x=(x<<1)+(x<<3)+(ch^48);
		ch=getchar();
	}
	return x*f;
}
using namespace std;
int main(){
	int n,k;
	n=read(),k=read();
	int a[50000005],c[50000005];
	for(int i=1;i<=n;++i){
	    a[i]=read();
        c[i]=a[i];
	}
    if(k>1000){
        k=k%(n);
	    for(int j=1;j<=k;++j){
            for(int i=1;i<=n;++i)a[i]=c[a[i]];
            for(int i=1;i<=n;++i)c[i]=a[i];
	    }
        for(int i=1;i<=n;++i)printf("%d ",a[i]);
        return 0;
    }
	for(int j=1;j<=k;++j){
        for(int i=1;i<=n;++i)a[i]=c[a[i]];
        for(int i=1;i<=n;++i)c[i]=a[i];
	}
	for(int i=1;i<=n;++i)printf("%d ",a[i]);
} 
2021/12/24 21:34
加载中...