80分 2 9 TLE
查看原帖
80分 2 9 TLE
411731
lyliie楼主2022/5/31 01:07
#include<iostream>
#include<cstring>
using namespace std;
int n,t,k=1,f[200010],f1[200010],f2[200010];
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&t);
		f[i]=f1[i]=t;
	}
	while(++k){
		for(int i=1;i<=n;i++)f2[i]=f[f1[i]];
		memcpy(f1,f2,sizeof(f2));
		for(int i=1;i<=n;i++)
			if(i==f2[i]){
				printf("%d",k);
				return 0;
			}
	}
	return 0;
} 
2022/5/31 01:07
加载中...