17 条题解

  • -2
    @ 2024-8-4 18:39:30

    Description\textbf{Description}

    给你四个正整数 a,b,c,da, b, c, d

    现在你有一条算式 (a  b)  c(a\ \Box\ b)\ \Box\ c。你需要判断能否在两个方框内分别填入三种运算符 +,,×+, -, \times 之一(运算符可以重复使用),使得算式运算的结果等于 dd

    Solution\textbf{Solution}

    每个方框有 33​ 种可能性,所以整个方案数总共有 32=93^2=9​ 种,所以可以枚举每一种情况,然后判断即可。

    时间复杂度 O(1)O(1)

    Code\textbf{Code}

    #include <bits/stdc++.h>
    
    int a, b, c, d;
    
    int main() {
      std::cin >> a >> b >> c >> d;
      if ((a + b) + c == d || 
          (a + b) - c == d ||
          (a + b) * c == d ||
          (a - b) + c == d ||
          (a - b) - c == d ||
          (a - b) * c == d ||
          (a * b) + c == d ||
          (a * b) - c == d ||
          (a * b) * c == d) puts("Yes"); // 枚举 9 种情况
      else puts("No");
      return 0;
    }
    

    信息

    ID
    25
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    1763
    已通过
    604
    上传者