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

  • 相关阅读:
    PLC有几种编程语言以及它们的特点是什么
    【NLP基础】英文关键词抽取RAKE算法
    我们在SqlSugar开发框架中,用到的一些设计模式
    MASM32配置问题
    Windows在与time.windows.com同步时出错
    Unity 引擎中国版 “团结引擎” 发布
    设计模式——10. 组合模式
    MyBatis中复杂查询(一对多和多对一)
    酒店订房退房管理系统(数组应用)
    MQ消息队列(二)——RabbitMQ进阶,保证消息的可靠性
  • 原文地址:https://blog.csdn.net/m0_74821245/article/details/128174409