zoukankan      html  css  js  c++  java
  • 6-9 天平 uva839

    这题十分巧妙!!代码精简!强大的递归!!!

    边读边判断   先读到底部  慢慢往上判断   难点在于传递w1+w2

    有一个比LRJ更加简便的方法  return传递  全局变量判断

    #include <algorithm>
    #include <iostream>
    #include <cstdlib>
    #include <cstring>
    #include <cstdio>
    #include <cmath>
    
    using namespace std;
    int flag;
    
    
    int dfs()
    {
        int d1,w1,d2,w2;cin>>w1>>d1>>w2>>d2;
        if(!w1)w1=dfs();
        if(!w2)w2=dfs();
        if(w1*d1!=w2*d2)flag=0;
    
    
        return w1+w2;
    
    }
    
    
    int main()
    {
        int n;cin>>n;
        while(n--)
        {
            flag=1;
            dfs();
            if(flag)printf("YES
    ");else printf("NO
    ");
            if(n)printf("
    ");
        }
    
        return 0;
    }
    View Code

    LRJ是return判断   引用来传递!  都很巧妙

    LRJ的方法:

    #include<bits/stdc++.h>
    using namespace  std;
    
    
    
    bool judge(int &w)
    {
        bool b1=true ,b2=true;
        int w1,d1,w2,d2;
        cin>>w1>>d1>>w2>>d2;
        if(!w1) b1=judge(w1);
        if(!w2) b2=judge(w2);
        w=w1+w2;
        return b1&&b2&&(w1*d1==w2*d2);
    }
    
    int main()
    {
    
     int cas;cin>>cas;
     while(cas--)
     {
    
         int w=0;
    
         if(judge(w))printf("YES
    ");
         else  printf("NO
    ");
    
       if(cas) cout<<endl;
    
     }
    
        return 0;
    }
    View Code
  • 相关阅读:
    231. Power of Two
    204. Count Primes
    205. Isomorphic Strings
    203. Remove Linked List Elements
    179. Largest Number
    922. Sort Array By Parity II
    350. Intersection of Two Arrays II
    242. Valid Anagram
    164. Maximum Gap
    147. Insertion Sort List
  • 原文地址:https://www.cnblogs.com/bxd123/p/10290064.html
Copyright © 2011-2022 走看看