#31692: c++ 答案


allenwu981002@gmail.com (貓帥帥)

學校 : 德光中學
編號 : 192608
來源 : [106.105.221.158]
最後登入時間 :
2024-03-23 18:53:10
h026. 202001_1 猜拳 -- 2020年1月APCS | From: [218.210.47.99] | 發表日期 : 2022-08-14 18:27

#include <iostream>
using namespace std;
int main()
{
    int F,N;
    cin >>F>>N;
    int c[N],d[N];

    d[0]=F;
    for(int i=0;i<N;i++){
        cin >> c[i];
    }
    d[1]=c[0];
    for(int i=2;i<N;i++)d[i]=c[i-1];

    for(int i=2;i<N;i++)
    {
        if(c[i-2]==c[i-1]&&c[i-1]==0)
        {
            d[i]=5;
        }
        
        else if(c[i-2]==c[i-1]&&c[i-1]==2)
        {
            d[i]=0;
        }
        
        else if(c[i-2]==c[i-1]&&c[i-1]==5)
        {
            d[i]=2;
        }
    }

    for(int i=0;i<N;i++){
    if(c[i]==0&&d[i]==5){
            cout << d[i]<<" : Won at round "<< i+1 << endl;
            break;}
    if(c[i]==2&&d[i]==0)
    {
        cout << d[i]<<" : Won at round "<< i+1 << endl;
        break;
    }
    if(c[i]==5&&d[i]==2)
    {
        cout << d[i]<<" : Won at round "<< i+1 << endl;
        break;
    }
    if(c[i]==5&&d[i]==0)
    {
        cout << d[i]<<" : Lost at round "<< i+1 << endl;
        break;
    }
    if(c[i]==0&&d[i]==2)
    {
        cout << d[i]<<" : Lost at round "<< i+1 << endl;
        break;
    }
    if(c[i]==2&&d[i]==5)
    {
        cout << d[i]<<" : Lost at round "<< i+1 << endl;
        break;
    }
    cout << d[i] << " ";
    }
    if(d[N-1]==c[N-1])
    {
        cout <<": Drew at round "<< N << endl;
    }

    return 0;
}

 
ZeroJudge Forum