[ACM]Uva839-Not So Mobile(树状天平)

在输入过程中同时进行数据处理,代码简洁,效率较高

#include<iostream>
#include<cstdio>

using namespace std;

bool solve(int& W)
{
	int W1,D1,W2,D2;
	bool b1=true,b2=true;
	cin>>W1>>D1>>W2>>D2;
	if(!W1) b1 = solve(W1);
    if(!W2) b2 = solve(W2);
    W=W1+W2;
    return b1 && b2 && (W1 * D1 == W2 * D2);
}

int main(){
	int T,W;
    cin>>T;
    while(T--)
    {
        if(solve(W))    cout<<"YES"<<endl;  else    cout<<"NO"<<endl;
        if(T)   cout<<endl;
    }
    return 0;
}
posted @ 2020-11-10 18:00  Do1phln  阅读(68)  评论(0编辑  收藏  举报