这里引用传参确实很奇妙
在判断底下的是否平衡时同时得到了上一块的质量
#include <cstdio>
#include <iostream>
using namespace std;
bool isBalanced(int &ww) {
int w[2];
int d[2];
bool b[2] = {true, true};
scanf("%d%d%d%d", &w[0], &d[0], &w[1], &d[1]);
if (w[0] == 0) b[0] = isBalanced(w[0]);
if (w[1] == 0) b[1] = isBalanced(w[1]);
ww = w[0] + w[1];
return b[0] && b[1] && (w[0] * d[0] == w[1] * d[1]);
}
void solve() {
int w;
if (isBalanced(w)) {
puts("YES");
}else {
puts("NO");
}
}
int main() {
// freopen("input" , "r", stdin);
int t;
scanf("%d", &t);
solve();
for (int i = 1; i < t; i++) {
putchar('\n');
solve();
}
}