• [NOIP2014 提高组] 生活大爆炸版石头剪刀布


    #include
    #define max 200
    using namespace std;
    struct Adata
    {
        int A;
        int B;
        int Aans;
        int Bans;
    }Adata1[max];
    int main()
    {
        int N, Na, Nb;
        int a[max], b[max];
        cin >> N >> Na >> Nb;
        for (int i = 1; i <= Na; i++)
        {
            cin >> a[i];
        }
        for (int j = 1; j <= Nb; j++)
        {
            cin >> b[j];
        }
        for (int i = 1; i <= N; i++)
        {
            int x = i % Na;
            int y = i % Nb;
            if (x == 0)
            {
                x = Na;
            }
            if (y == 0)
            {
                y = Nb;
            }
            Adata1[i].A = a[x];
            Adata1[i].B = b[y];
            if (Adata1[i].A == Adata1[i].B)
            {
                Adata1[i].Aans = Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 0 && Adata1[i].B == 1)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 0 && Adata1[i].B == 2)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 0 && Adata1[i].B == 3)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 0 && Adata1[i].B == 4)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 1 && Adata1[i].B == 0)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 1 && Adata1[i].B == 2)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 1 && Adata1[i].B == 3)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 1 && Adata1[i].B == 4)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 2 && Adata1[i].B == 0)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 2 && Adata1[i].B == 1)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 2 && Adata1[i].B == 3)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 2 && Adata1[i].B == 4)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 3 && Adata1[i].B == 0)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 3 && Adata1[i].B == 1)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 3 && Adata1[i].B == 2)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 3 && Adata1[i].B == 4)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 4 && Adata1[i].B == 0)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 4 && Adata1[i].B == 1)
            {
                Adata1[i].Aans = 1;
                Adata1[i].Bans = 0;
            }
            if (Adata1[i].A == 4 && Adata1[i].B == 2)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
            if (Adata1[i].A == 4 && Adata1[i].B == 3)
            {
                Adata1[i].Aans = 0;
                Adata1[i].Bans = 1;
            }
        }
        int Ascore = 0, Bscore = 0;
        for (int i = 1; i <= N; i++)
        {
            Ascore += Adata1[i].Aans;
            Bscore += Adata1[i].Bans;
        }
        cout << Ascore << ' ' << Bscore;
        return 0;
    }

  • 相关阅读:
    Redis 的事务操作
    Spring事务传播
    JDK中内嵌JS引擎介绍及使用
    《痞子衡嵌入式半月刊》 第 31 期
    React报错之Type '() => JSX.Element[]' is not assignable to type FunctionComponent
    MATLAB与Excel的数据交互
    el-tooltip使用在dialog中,dialog按ESC关闭后,悬浮不消失情况对应。
    uniapp实现微信小程序全局可分享功能
    【OJ每日一练】1017 - 计算蔬菜总价
    泰山OFFICE技术讲座:同一行不同字号的字如何对齐绘制
  • 原文地址:https://blog.csdn.net/m0_74821245/article/details/128174409