UVA839 天平
递归输入的数据,因而可以通过递归读入,重点在于递归的判断上,以及递归函数的传参,这里时一个引用的变量类型,通过判断底层的天平是否平衡
#include<cstdio>
#include<cstdlib>
#include<iostream>
#include<string>
#include<vector>
#include<cstring>
#include<queue>
#include<set>
using namespace std;
bool solve(int &W)
{
bool fl = true;
bool fr = true;
int w1, d1, w2, d2;
cin >> w1 >> d1 >> w2 >> d2;
if (!w1)
{
fl = solve(w1);
}
if (!w2)
{
fr = solve(w2);
}
W = w1 + w2;
return fr && fl && (w1 * d1 == w2 * d2) ? true : false;
}
int main()
{
int n;
cin >> n;
int W = 0;
for (int i = n-1; i >= 0; i--)
{
W = 0;
if (solve(W))
{
cout << "YES\n";
}
else
{
cout << "NO\n";
}
if (i)
{
cout << '\n';
}
}
return 0;
}