难道我只能改算法吗
查看原帖
难道我只能改算法吗
1049791
wwwhyj楼主2024/10/13 15:45
#include<bits/stdc++.h>
using namespace std;
const int maxn=2e5+5;
int a[maxn];
int main(){
	int n,ans=114514;
	scanf("%d",&n);
	for(int i=1;i<=n;i++)scanf("%d",a+i);
	for(int i=1;i<=n;i++){
		int sum=1;
		int k=i;
		while(k<=n&&a[k]!=i&&sum<n&&sum<ans)k=a[k],sum++;
		if(a[k]==i)ans=sum;
	}
	printf("%d",ans);
	return 0;
}

求问:以上代码能否在不改算法的基础上优化 提交记录

2024/10/13 15:45
加载中...