1. K11504 天平[Not so Mobile,UVa839]

题目描述

输入一个树状天平,根据力矩相等原则判断是否平衡。如图所示,所谓力矩相等就是WlDl=Wr Dr,其中Wl和Wr分别为左右两边砝码的重量,D为距离。

输入格式

输入的第一行,是一个整数n,表示测试数据的组数。紧接着是一个空行。每组测试数据之间也有一个空行。

每组测试数据,包含多行,采用递归(先序)方式输入,每行用空格隔开的4个整数,分别代表Wl、Dl、Wr、Dr。当Wl或Wr为0时,表示该"砝码"实际是一个子天平,接下来会描述这个子天平。当Wl=Wr=0时,会先描述左子天平,然后是右子天平。

例如:输入样例就描述了下图的天平:

输出格式

对于每组测试数据,输出一行,如果天平平衡输出'YES',否则输出'NO'。两组测试数据结果之间输出一个空行。

输入输出样例

输入样例1:

1

0 2 0 4

0 3 0 1

1 1 1 1

2 4 4 2

1 6 3 2

输出样例1:

YES

说明

数据保证"天平"总数不超过400

【耗时限制】3000ms 【内存限制】128MB

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
struct st{
    ll wl,dl,wr,dr;
    ll l,r;
}a[500];
ll n,tot,cntw[500];
ll build(){
    ll r=++tot;
    scanf("%lld%lld%lld%lld",&a[r].wl,&a[r].dl,&a[r].wr,&a[r].dr);
    if(!a[r].wl)a[r].l=build();
    if(!a[r].wr)a[r].r=build();
    return r;
}
ll count(ll r){
    if(!r)return 0;
    cntw[r]=count(a[r].l)+count(a[r].r)+a[r].wl+a[r].wr;
    return cntw[r];
}
int main(){
    scanf("%lld",&n);
    while(n--){
        memset(a,0,sizeof a);
        tot=0;
        ll r=build();
        count(r);
        ll ok=1;
        for(ll r=1;r<=tot;r++){
            ll wl,wr;
            if(!a[r].wl)wl=cntw[a[r].l];
            else wl=a[r].wl;
            if(!a[r].wr)wr=cntw[a[r].r];
            else wr=a[r].wr;
            if(wl*a[r].dl!=wr*a[r].dr){
                ok=0;
                break;
            }
        }
        if(ok)printf("YES\n\n");
        else printf("NO\n\n");
    }
    return 0;
}
相关推荐
CoovallyAIHub7 小时前
Moonshine:比 Whisper 快 100 倍的端侧语音识别神器,Star 6.6K!
深度学习·算法·计算机视觉
CoovallyAIHub8 小时前
速度暴涨10倍、成本暴降6倍!Mercury 2用扩散取代自回归,重新定义LLM推理速度
深度学习·算法·计算机视觉
CoovallyAIHub8 小时前
实时视觉AI智能体框架来了!Vision Agents 狂揽7K Star,延迟低至30ms,YOLO+Gemini实时联动!
算法·架构·github
CoovallyAIHub9 小时前
开源:YOLO最强对手?D-FINE目标检测与实例分割框架深度解析
人工智能·算法·github
CoovallyAIHub9 小时前
OpenClaw:从“19万星标”到“行业封杀”,这只“赛博龙虾”究竟触动了谁的神经?
算法·架构·github
刀法如飞9 小时前
程序员必须知道的核心算法思想
算法·编程开发·算法思想
徐小夕11 小时前
pxcharts Ultra V2.3更新:多维表一键导出 PDF,渲染兼容性拉满!
vue.js·算法·github
CoovallyAIHub12 小时前
OpenClaw一脚踩碎传统CV?机器终于不再只是看世界
深度学习·算法·计算机视觉
CoovallyAIHub12 小时前
仅凭单目相机实现3D锥桶定位?UNet-RKNet破解自动驾驶锥桶检测难题
深度学习·算法·计算机视觉
zone773912 小时前
002:RAG 入门-LangChain 读取文本
后端·算法·面试