• [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;
    }

  • 相关阅读:
    第一个发布成功的UI组件库
    刷题记录(NC16708 过河卒,NC16619 传球游戏,NC16810 [NOIP1999]拦截导弹)
    [设计模式] 静态代理居然能解决这种问题,我惊讶了!
    从技术创新到应用实践,百度智能云发起大模型平台应用开发挑战赛!
    USB 四种传输方式的通信API
    氨基NH2/羧酸COOH/马来酰亚胺MAL修饰CdTe/CdS量子点
    vue使用vue-video-player实现web视频直播展示m3u8格式
    机器人运动学笔记
    输入一个字符串,统计其中字符A的数量并且输出,输入共有一行,为一个不带空格的字符串(其中字符数不超过100),输出一行,包含一个整数,为输入字符串中的A的数量
    Docker 镜像拉取
  • 原文地址:https://blog.csdn.net/m0_74821245/article/details/128174409