您的位置:首页 > 其它

例题6-9 UVa839 Not so Mobile(树)

2016-02-09 19:29 337 查看
题意:

看白书

要点:

书上的代码倒是简洁,自己写是写不出这么简洁的,递归还是差点

#include<stdio.h>
#include<stdlib.h>

bool build(int &w)  //这里传递地址改变w的值
{
int w1, w2, d1, d2;
bool b1 = true, b2 = true;
scanf("%d%d%d%d", &w1, &d1, &w2, &d2);
if (!w1) b1=build(w1); //这里其实改变了w1的值
if (!w2) b2=build(w2);
w = w1 + w2;
return b1&&b2 && (w1*d1 == w2*d2);
}
int main()
{
int t,w;
scanf("%d", &t);
while (t--)
{
if (build(w))
printf("YES\n");
else
printf("NO\n");
if (t)
printf("\n");//隔一行输出
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: