代码:
#include <bits/stdc++.h>
using namespace std;
#define LL long long
#define INF 0x3f3f3f3
#define pi acos(-1)
const int maxn=1e3+5;
const int maxx=1e6+5;
bool solve(int &W){
int W1,W2,D1,D2;
bool b1 = true,b2 = true;
scanf("%d%d%d%d",&W1,&D1,&W2,&D2);
if(!W1)
{
b1 = solve(W1);
//cout<<b1<<endl;
}//左树
if(!W2)
{
b2 = solve(W2);
// cout<<b2<<endl;
}//右树
W = W1 + W2;
//cout<<"wpx"<<W<<endl;//求左右树相加
return b1 && b2 && (W1*D1 == W2*D2);//判断左右树和本树下是否平衡
}
int main()
{
int n,W;
while(scanf("%d",&n)!=EOF)
{
while(n--){
if(solve(W)) printf("YES\n");
else printf("NO\n");
if(n) printf("\n");
}
}
return 0;
}