TLE 2个点,还能优化吗(不改算法)?
查看原帖
TLE 2个点,还能优化吗(不改算法)?
1092199
Mlao楼主2024/11/28 21:02
#include<bits/stdc++.h>
using namespace std;
int n;
int f[200005],a[200005];
int main(){
	cin>>n;
	for(int i=1;i<=n;i++) {
		cin>>a[i];
		f[i]=a[i];
	}
	int flag=1;
	int num=0;
	while(flag==1){
		num++;
		for(int i=1;i<=n;i++){
			f[i]=a[f[i]];
			if(f[i]==i){
				flag=0;
				cout<<num;
				return 0;
			} 
		}
	}
}
2024/11/28 21:02
加载中...