uva 839 - Not so Mobile

原创 2013年12月01日 20:10:45
#include <cstdio>
#include <cstring>
#include <cstdlib>
#define maxn 20000+10
using namespace std;
struct node {
    int data;
    int ld, rd;
    node *l, *r;
};
bool ok;
void dfs(node *t)
{
    if(!ok) return;
    if(t == NULL) return;
    if(t->l == NULL && t->r == NULL) return;
    dfs(t->l);
    dfs(t->r);
    if(t->l->data != 0 && t->r->data != 0)
    {
        //printf("%d %d\n", t->l->data, t->r->data);
        t->data = t->l->data + t->r->data;
        //printf("%d * %d = %d, %d * %d = %d\n", t->l->data, t->ld, t->l->data*t->ld, t->r->data, t->rd, t->r->data*t->rd);
        if(t->r->data*t->rd != t->l->data*t->ld)
            ok = false;
    }
    return;
}
node* &build()
{
    node *t;
    t = (node*)malloc(sizeof(node));
    int a, b, c, d;
    scanf("%d%d%d%d", &a, &b, &c, &d);
    t->ld = b;
    t->rd = d;
    t->l = (node*)malloc(sizeof(node));
    t->r = (node*)malloc(sizeof(node));
    t->l->data = a;
    t->r->data = c;
    if(a == 0) t->l = build();
    else t->l->l = NULL, t->l->r = NULL;
    if(c == 0) t->r = build();
    else t->r->l = NULL, t->r->r = NULL;
    return t;
}

int main()
{
    int t;
    scanf("%d", &t);
    while(t--)
    {
        node *tree;
        tree = build();
        ok = true;
        dfs(tree);
        if(ok) puts("YES");
        else puts("NO");
        if(t) printf("\n");
    }
    return 0;
}

相关文章推荐

UVa 839 Not so Mobile(树的递归输入)

题意  判断一个树状天平是否平衡   每个测试样例每行4个数  wl,dl,wr,dr  当wl*dl=wr*dr时  视为这个天平平衡  当wl或wr等于0是  下一行将是一个子天平  如果子天平平...
  • acvay
  • acvay
  • 2014年09月24日 09:17
  • 1162

Uva - 839 - Not so Mobile

Before being an ubiquous communications gadget, a mobile was just a structure made of strings and wi...

UVA839 Not so Mobile【二叉树】【递归】

题目大意:给你一个树形的天平,如图所示,根据力矩相等原则判断是否相等。 注意:输入的时候采用(先序)输入,如果WL为0时,该天平有左子天平,接下来 描述这个左子天平,如果WR为0时,该天平有有右子天平...

UVa839-Not so Mobile (天平)

UVa839-Not so Mobile (天平) 输入一个树状天平,根据力矩相等原则判断是否平衡。所谓力矩相等,就是W1D1=W2D2,其中W1,W2分别为左右两边砝码的重量,D为距离。  采用递归...

UVa 839 Not so Mobile (DFS二叉树)

839 - Not so Mobile Time limit: 3.000 seconds  http://uva.onlinejudge.org/index.php?option=com_onl...

uva 839 - Not so Mobile

Not so Mobile  Before being an ubiquous communications gadget, a mobile was just a struct...

Uva839 Not so Mobile(天平)

链接:https://cn.vjudge.net/problem/UVA-839 Before being an ubiquous communications gadget, a mobi...

UVA - 839 Not so Mobile

Not so Mobile  Before being an ubiquous communications gadget, a mobile was just a struct...

UVaOJ839---Not so Mobile

839 - Not so Mobile Time limit: 3.000 seconds Before being an ubiquous communications gadget, ...

839 - Not so Mobile

描述:这是物理上的一个杠杆问题,就是重物与力矩相乘,看一下两边是否相等,才开始我没有采用建树方法,后来又用建树的方法做了一下,不过很惭愧,建树时出现了问题,结果好几次wa…… 代码一: 不建树...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:uva 839 - Not so Mobile
举报原因:
原因补充:

(最多只允许输入30个字)