zoukankan      html  css  js  c++  java
  • Not so Mobile UVA

    题目链接:https://vjudge.net/problem/UVA-839

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

    采用递归的方式输入:每个天平的格式为Wl,Dl,Wr,Dr   当Wl或Wr为0时  表示该"砝码" 实际是一个子天平  接下来会描述这个子天平。当Wl=Wr=0   会先描述左子天平  然后是右子天平。

    思路:解决本道题之前一定要先弄请吃题目意思,建议读者把样例输入画出来。。。

    这道题的输入就采用了递归的方式定义,因此编写一个递归过程进行输入比较。  事实上 在输入过程就可以完成判断,  由于使用引用传值   代码非常精简。  本题极为重要 一定要搞懂!!!

    其实很容易想到的,子天平的重量要由它下面的砝码传递上来,使用引用传递真的很方便,通过这题,也算开阔了自己对引用的视野   以前从来没有使用过引用,这也算第一道引用的题了

    看代码:

    #include<iostream>
    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;
    }

       

    当初的梦想实现了吗,事到如今只好放弃吗~
  • 相关阅读:
    poj_2506_Tiling_201407211555
    poj_2524_Ubiquitous Religions_201407211506
    poj_2586_Y2K Accounting Bug_201407211318
    poj_3006_Dirichlet's Theorem on Arithmetic Progressions_201407041030
    POJ训练计划
    nyoj_10_skiing_201405181748
    nyoj_308_Substring_201405091611
    nyoj_205_求余数_201404271630
    hdu_2082_找单词_201404271536
    nyoj_176_队花的烦恼二_201404262008
  • 原文地址:https://www.cnblogs.com/caijiaming/p/10352559.html
Copyright © 2011-2022 走看看