C. 石头剪刀布

纯模拟,我想的应该是有点麻烦了。

  • 先让牛牛的拳头碰剪刀,以此类推,先把赢了的赢了,但要注意拳头和剪刀的局数都得有值,这样每局得分。
  • 再让牛牛的拳头碰拳头,以此类推,拳头和拳头的局数都得有值,这样每局得分。
    #include<bits/stdc++.h>
    using namespace std;
    int a[4],b[4];
    int n, t, ans;
    #define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int main()
    {
      IOS;
      cin >> n;
      for(int i = 1; i <= 3; i++) cin >> a[i];
      for(int i = 1; i <= 3; i++) cin >> b[i];
      if(a[1] > 0 && b[2] > 0){
          t = min(a[1], b[2]);
          a[1] -= t;
          b[2] -= t;
          ans += t * 2;
      }
      if(a[2] > 0 && b[3] > 0){
          t = min(a[2], b[3]);
          a[2] -= t;
          b[3] -= t;
          ans += t * 2;
      }
      if(a[3] > 0 && b[1] > 0){
          t = min(a[3], b[1]);
          a[3] -= t;
          b[1] -= t;
          ans += t * 2;
      }
      for(int i = 1; i <= 3; i++){
          if(a[i] > 0 && b[i] > 0){
              t = min(a[i], b[i]);
              a[i] -= t;
              b[i] -= t;
              ans += t;
          }
      }
      cout << ans << endl;
    }