题意
判断树状天平是否平衡
输入的重量如果是0说明该节点下面有子树
思路
水题
递归输入并判断即可
每次更新子树的重量
注意一下格式
AC代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
bool judge( int &w ){
int wl, dl, wr, dr;
bool ok1 = true, ok2 = true, ok3 = false;
scanf("%d%d%d%d",&wl, &dl, &wr, &dr);
if( !wl ) ok1 = judge(wl);
if( !wr ) ok2 = judge(wr);
w = wl + wr;
if( wl*dl == wr*dr ) ok3 = true;
return ok1 && ok2 && ok3;
}
int main()
{
int T, w;
scanf("%d",&T);
int k = T;
while(T--){
if( T != k-1 ) puts("");
w = 0;
if( judge(w) ) puts("YES");
else puts("NO");
}
return 0;
}