开始 2024-08-22 00:00:00

8.19-8.24集训第四天

结束 2024-08-26 09:00:00
Contest is over.
当前 2024-12-22 13:57:03

I题AC题解
#include <bits/stdc++.h>
using namespace std;
const int MAXN=1000001;
int node[MAXN],lson[MAXN],rson[MAXN],m, ans=1; 
bool OK=1;
int Dfs(int x,int y,int s)
{
  if(x==-1 && y==-1)
    return 0;
  if((x==-1 || y==-1) || node[x]!=node[y])
  {
    OK=0;
    return 0;
  }
  return Dfs(lson[x],rson[y],2)+Dfs(rson[x],lson[y],2)+s;
}
int main()
{
  cin>>m;
  for(int i=1; i<=m; i++)
    cin>>node[i];
  for(int i=1; i<=m; i++)
    cin>>lson[i]>>rson[i];
  for(int i=1; i<=m; i++)
  {
    int sum=Dfs(lson[i],rson[i],3);
    if(sum>ans && OK)
      ans=sum;
    OK=1;
  }
  cout<<ans<<endl;
  return 0;
}

//思路:DFS


HAPPY1  •  3个月前

哇塞!还厉害呀!膜拜膜拜大佬!真厉害呀!崇拜你呢~好厉害呀~


C_Fanhaoyu  •  3个月前

这个AC不了,会超时,要优化,要代码的再等等


HAPPY1  •  3个月前

比赛已结束。