NOIP2018-J-4-对称二叉树 全RE求调

(题目自己找)
就是个朴素搜索,不知道为什么会Runtime Error

#include<bits/stdc++.h>
using namespace std;
struct node{
	int l,r,v;
}a[1000005];
int n,ans;
bool dfs(int x,int y){
  if(x==-1&&y==-1) return 1;
  if(x==-1||y==-1) return 0;
  if(a[x].v!=a[y].v) return 0;
  if(dfs(a[x].l,a[y].r)&&dfs(a[x].r,a[y].l)) return 1;
  return 0;
}
int sum(int x){
  if(x==-1) return 0;
  return sum(a[x].l)+sum(a[x].r)+1;
} 
int main(){
  scanf("%d",&n);
  for(int i=1;i<=n;i++) scanf("%d",a[i].v);
  for(int i=1;i<=n;i++) scanf("%d%d",a[i].l,a[i].r);
  for(int i=1;i<=n;i++) if(dfs(i,i)) ans=max(ans,sum(i));
  printf("%d",ans); 
  return 0;
}

大哥,你scanf输入没&

无敌了,我还捡个漏

。。。刚刚发现

我寻思要不要给你个解决方案呢

这能给?
(除非你改之后AC了

可是确实A了呀
@杨思越

理论上可以给,但是给了也是最后一次了