所谓的递归即用栈而已,所以所有的用栈的形式给出的输入均可递归得到答案:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<string>
#include<cctype>
#include<cmath>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stack>
#include<ctime>
#include<algorithm>
#include<sstream>
#define LL long long
using namespace std;
int failed;
int creat_tree()
{
int w1,d1,w2,d2;
cin>>w1>>d1>>w2>>d2;
if(!w1) w1=creat_tree();
if(!w2) w2=creat_tree();
if(w1*d1!=w2*d2)
failed=0;
return w1+w2;
}
int main()
{
int t;
cin>>t;
while(t--)
{
failed=1;
creat_tree();
if(failed)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
if(t)
cout<<endl;
}
return 0;
}