UVA839 天平 Not so Mobile
#include<bits/stdc++.h>
using namespace std;
#define debug(x) cout<<"# "<<x<<" "<<endl;
typedef long long ll;
const ll mod=2147483647;
const ll N=1e5+7;
/*输入一个子天平,返回子天平是否平衡,参数w修改子天平的总重量*/
bool solve(ll &w)
{
ll wl,wr,dl,dr;
bool bl=true,br=true;
cin>>wl>>dl>>wr>>dr;
if(!wl)bl=solve(wl);
if(!wr)br=solve(wr);
w=wl+wr;//通过引用变量来计算此天平的总重量并修改w的值以传回答案;
return bl&&br&&(wl*dl==wr*dr);//如果当前的天平是平衡的且其子树(如果有的话)也是平衡的,那么这整棵树都是平横的
}
ll t,w;
int main()
{
//freopen("input.txt","r",stdin);
//freopen("output.txt","w",stdout);
//read(t);
cin>>t;
while(t--)
{
if(solve(w))cout<<"YES"<<endl;
else cout<<"NO"<<endl;
if(t)cout<<endl;
}
return 0;
}
繁凡さん
发布了58 篇原创文章 · 获赞 58 · 访问量 5797
私信
关注