不最简但最快
2026-09-04 22:25:32
发布于:广东
14阅读
0回复
0点赞
#include<cstdio>
int n,ans=0,l[100005],r[100005],h[100005];
bool f[100005];
void dfs(int p){
if(!p) return ;
if(!l[p]&&!r[p]){
ans++,h[p]=f[p]=1;
return ;
}
dfs(l[p]);
dfs(r[p]);
f[p]=bool(f[l[p]]&&h[l[p]]==h[r[p]]);
h[p]=(h[l[p]]+1)*f[p];
ans+=f[p];
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",l+i);
scanf("%d",r+i);
}

dfs(1);
printf("%d",ans);
}
总结:scanf,printf,cstdio,去using namespace std;
能用boor代替判断就不用判断,能开int就开int
全部评论 1
执行用时:1ms
内存消耗:1.50MB
击败了92.65%的用户
击败了100.00%的用户2026-09-07 来自 广东
0












有帮助,赞一个