编译错误求助
  • 板块学术版
  • 楼主x1489631649
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/7/22 09:25
  • 上次更新2025/7/22 09:28:42
查看原帖
编译错误求助
780505
x1489631649楼主2025/7/22 09:25

一编译就会跳转到其他页面不知道哪里错了求助

#include <bits/stdc++.h>
using namespace std;
map<int,int>p;
int fa[100];
int find(int x)
{
	if(fa[x]==x)
		return 0;
	else return 1+find(fa[x]);
}
int solve(int x,int cnt,int opt)
{
	if(x==opt)
		return 0;
	else if(x==fa[x])
		return cnt;
	else return 1+find(fa[x],cnt,opt);
}
int main() 
{
	int t,n;
	cin>>t;
	for(int k=1;k<=t;k++)
	{
		int n,x;
		cin>>n;
		for(int i=1;i<=n;i++)
			fa[i]=i;
		for(int i=1;i<=n;i++)
		{
			cin>>x;
			fa[i]=x;
		}
		int	dis[100];
		for(int i=1;i<=n;i++) 
		{
			int cnt=find(i);
			for(int j=1;j<=n;j++)
				dis[j]=solve(j,cnt,i);
			unsigned long long res=0;
			for(int j=1;j<=n;j++)
				res=res*133+dis[j];
			if(p[res]!=0)
				cout<<p[res]<<endl;
			else{
				p[res]=k;
				cout<<k<<endl;
			}
		}
	}
    return 0;
}
2025/7/22 09:25
加载中...