判断天平是否平衡,W1 或 W2 为0,表示为子天平。递归过程中来输入并判断。
代码:
#include <iostream>
using namespace std;
bool fun(int& n)
{
int a1, b1, a2, b2;
bool a = true, b = true; //a表示左是否平衡,b表示右是否平衡
cin >> a1 >> b1 >> a2 >> b2;
if(!a1)
a = fun(a1);
if(!a2)
b = fun(a2);
n = a1 + a2;
return a && b && (a1 * b1 == a2 * b2);
}
int main()
{
int m, n;
cin >> m;
while(m--)
{
if(fun(n))
cout << "YES" << endl;
else
cout << "NO" << endl;
if(m)
cout << endl;
}
return 0;
}