每行的四个数据意思是,左边的重量,左边的力矩,右边的重量,右边的力矩。
平衡则力矩乘以重量要相等。。
用dfs遍历一边,有任意一个不平衡,就不行了;
AC代码:
#include<cstdio>
int flag;
int dfs()
{
int lw, ld, rw, rd;
scanf("%d%d%d%d", &lw, &ld, &rw, &rd);
if (lw == 0)
lw = dfs();
if (rw == 0)
rw = dfs();
if (lw * ld != rw * rd)
flag = 0;
return lw + rw;
}
int main()
{
int t;
scanf("%d", &t);
while (t--)
{
flag = 1;
dfs();
if (flag)
printf("YES\n");
else
printf("NO\n");
if (t)
printf("\n");
}
return 0;
}