Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
125661 林泽豪 对称二叉树 C++ 运行出错 16 7 MS 252 KB 740 2024-01-23 20:28:40

Tests(4/25):


#include<bits/stdc++.h> using namespace std; const int maxn=110; int f[maxn]; struct tree{ int right,left,data; }tree[maxn]; int ds[maxn],df=0; bool nmsl(int o,int n){ if(o!=-1){ nmsl(tree[o].left ,n); ds[++df]=f[tree[o].data]; nmsl(tree[o].right,n ); if(o==n){ for(int i=1;i<=(df+1)/2;i++)if(ds[i]!=ds[df+1-i]){ return 0; } return 1; } } } void sb(int nod){ if(nod!=-1){ if(nmsl(nod,nod)==1){ cout<<df; df=0; exit(0); }else{ df=0; sb(tree[nod].left); sb(tree[nod].right); } } } int main() { int n; cin>>n; for(int i=1;i<=n;i++)cin>>f[i]; for(int i=1;i<=n;i++){ cin>>tree[i].left>>tree[i].right; tree[i].data =i; } sb(1); }


测评信息: