zoukankan      html  css  js  c++  java
  • Uva 839 Not so Mobile

    题意:给你一个杠杆两端的物体的质量和力臂,如果质量为零,则下面是一个杠杆,判断是否所有杠杆平衡.

    分析:这道题采用的是递归的方式来输入,如果一个一个存取然后再判断会相当麻烦,那么就采取递归读入的方式,在读入的同时判断当前天平是否平衡,利用引用来传递参数.

    一般的,如果输入采用递归的方式,而且题目也有一定的递归性质,我们可以尝试边输入边统计.

    #include <cstdio>
    #include <cstring>
    #include <iostream>
    #include <algorithm>
    
    using namespace std;
    
    int T,W;
    
    bool build(int &W)
    {
        int d1, d2, w1, w2;
        scanf("%d%d%d%d", &w1, &d1, &w2, &d2);
        bool flag1 = true, flag2 = true;
        if (!w1)
            flag1 = build(w1);
        if (!w2)
            flag2 = build(w2);
        W = w1 + w2;
        if (flag1 && flag2 && w1 * d1 == w2 * d2)
            return true;
        else
            return false;
    }
    
    int main()
    {
        scanf("%d", &T);
        while (T--)
        {
            if (build(W))
                printf("YES
    ");
            else
                printf("NO
    ");
            if (T)
                printf("
    ");
        }
    
        return 0;
    }

     

  • 相关阅读:
    SJTU T4143 推箱子
    Markdown基本语法
    命令行的操作——cd
    C++ ------- 类和对象
    数据结构------栈和队列
    MySQL------ 子查询
    MySQL------ SQL99语法
    C++------内存分区模型
    第三章------数据链路层
    MySQL------ SQL92语法
  • 原文地址:https://www.cnblogs.com/zbtrs/p/7575018.html
Copyright © 2011-2022 走看看