其他分享
首页 > 其他分享> > AcWing 1801. 蹄子剪刀布(思维+暴力)

AcWing 1801. 蹄子剪刀布(思维+暴力)

作者:互联网

题目连接

https://www.acwing.com/problem/content/1803/

思路

开始我们不难想到一个比较暴力的想法就是我们枚举 1 、 2 、 3 1、2、3 1、2、3的所有状态也就是都可能当石头or剪刀or布那么大概要六次循环,也能接受,但是我们想一下这个游戏无非就是赢了、输了和平局,对于平局的情况无论如何变化都不会改变,那么我们的赢和输其实就构成了互补的关系,所以无论我们怎么去选择每一个数字对于什么关系,我们在赢的次数和输的次数中选一个 m a x max max就好了

代码

#include<bits/stdc++.h>
using namespace std;

#define PII pair<int,int>

const int N = 1e2+10;

int n;
PII a[N];

int main()
{
    cin>>n;
    for(int i = 1;i <= n; ++i) cin>>a[i].first>>a[i].second;
    int ans = 0;
    int win = 0,fail = 0;
    for(int i = 1;i <= n; ++i){
        int l = a[i].first,r = a[i].second;
        if(l == r) continue;
        if(l == 1){
            if(r == 2) fail++;
            else win++;
        } else if(l == 2){
            if(r == 1) win++;
            else fail++;
        } else {
            if(r == 1) fail++;
            else win++;
        }
    }
    ans = max(win,fail);
    cout<<ans<<endl;
    
    
    return 0;
}

标签:1801,int,win,else,++,max,fail,剪刀,AcWing
来源: https://blog.csdn.net/m0_46201544/article/details/123065694