二维数组不能再大一点吗
查看原帖
二维数组不能再大一点吗
1044914
yejuncenyyds楼主2023/9/3 13:32
#include<bits/stdc++.h>
using namespace std;
int g[10000][10000],n,leaf[100005],cnt=0,MAX=-10086;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=0x7fffff;
	for(int i=1;i<=n;i++){
		int l,r;
		cin>>l>>r;
		g[i][l]=1;
		g[i][r]=1;
		if(l==0&&r==0) leaf[++cnt]=i;
	}
	for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) g[i][j]=min(g[i][j],g[i][k]+g[k][j]);
	for(int i=1;i<=cnt;i++) MAX=max(MAX,g[1][leaf[i]]);
	cout<<MAX+1;
}
2023/9/3 13:32
加载中...