社区讨论

难道我只能改算法吗

P2661[NOIP 2015 提高组] 信息传递参与者 4已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@m27a7zj4
此快照首次捕获于
2024/10/13 15:46
去年
此快照最后确认于
2025/11/04 17:17
4 个月前
查看原帖
CPP
#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;
}
求问:以上代码能否在不改算法的基础上优化 提交记录

回复

3 条回复,欢迎继续交流。

正在加载回复...