最后一个点wa求大佬找错
查看原帖
最后一个点wa求大佬找错
292163
杨星宇楼主2020/11/4 11:57
#include<iostream>
using namespace std;
struct tree{
	int i;
	int dete;
	int left,right;
}t[105];
int n,a[105],b[105],m=1,ans=0;
int h[105],he=0,r,s,js=0;
void dfs(int x,int y)
{
	if(t[x].dete==0)
	return;
	ans=max(ans,y);
	h[y]++;
	dfs(t[x].left,y+1);
	dfs(t[x].right,y+1);
}
/*int mi(int x)
{
	for(int =1;i<=x;i++)
	m=m*2;
}*/
void zhao(int x,int y)
{
	while(x!=y)
	{
		if(x>y)
		{
			for(int i=1;i<n;i++)
				if(b[i]==x)
				x=a[i];
				js+=2;
		}
		else
		{
			for(int i=1;i<n;i++)
				if(b[i]==y)
				y=a[i];
				js+=1; 
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<n;i++)
	{
		t[i].dete=i;
		cin>>a[i]>>b[i];
		if(t[a[i]].i)
		t[a[i]].right=b[i];
		else
		{
			t[a[i]].left=b[i];
			t[a[i]].i++;
		}
	}
	cin>>r>>s;
	dfs(1,1);
	zhao(r,s);
	for(int i=1;i<=n;i++)
	he=max(he,h[i]);
	cout<<ans<<endl<<he<<endl<<js;
}
2020/11/4 11:57
加载中...