제출 #1200445

#제출 시각아이디문제언어결과실행 시간메모리
1200445nekolie콤보 (IOI18_combo)C++20
컴파일 에러
0 ms0 KiB
// When she's prettier than any DP you've ever seen...
#include <bits/stdc++.h>
using namespace std;

string guess_sequence(int n) {
    string odp;
    int m = 0, x = press("AB");
    if (x == 0) {
        x = press("X"), m++;
        if (x == 1)
            odp += 'X';
        else
            odp += 'Y'
    }
    else {
        x = press("A"), m++;
        if (x == 1)
            odp += 'A';
        else
            odp += 'B'
    }
    while (m+2 <= n) {
        if (odp[0] == 'A') {
            x = press(odp+"BB"+odp+"BX"+odp+"BY"+odp+"X");
            if (x == m)
                odp += 'Y';
            else if (x == m+1)
                odp += 'X';
            else
                odp += 'B';
        }
        else if (odp[0] == 'B') {
            x = press(odp+"AA"+odp+"AX"+odp+"AY"+odp+"X");
            if (x == m)
                odp += 'Y';
            else if (x == m+1)
                odp += 'X';
            else
                odp += 'A';
        }
        else if (odp[0] == 'X') {
            x = press(odp+"AA"+odp+"AB"+odp+"AY"+odp+"B");
            if (x == m)
                odp += 'Y';
            else if (x == m+1)
                odp += 'B';
            else
                odp += 'A';
        }
        else {
            x = press(odp+"BB"+odp+"BX"+odp+"BA"+odp+"X");
            if (x == m)
                odp += 'A';
            else if (x == m+1)
                odp += 'X';
            else
                odp += 'B';
        }
        m++;
    }
    if (m == n-1) {
        if (odp[0] == 'A') {
            x = press(odp+"B");
            if (x == n)
                odp += 'B';
            else {
                x = press(odp+"X");
                if (x == n)
                    odp += 'X';
                else
                    odp += 'Y';
            }
        }
        else if (odp[0] == 'B') {
            x = press(odp+"A");
            if (x == n)
                odp += 'A';
            else {
                x = press(odp+"X");
                if (x == n)
                    odp += 'X';
                else
                    odp += 'Y';
            }
        }
        else if (odp[0] == 'X') {
            x = press(odp+"A");
            if (x == n)
                odp += 'A';
            else {
                x = press(odp+"B");
                if (x == n)
                    odp += 'B';
                else
                    odp += 'Y';
            }
        }
        else {
            x = press(odp+"B");
            if (x == n)
                odp += 'B';
            else {
                x = press(odp+"X");
                if (x == n)
                    odp += 'X';
                else
                    odp += 'A';
            }
        }
    }
    return odp;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:7:20: error: 'press' was not declared in this scope
    7 |     int m = 0, x = press("AB");
      |                    ^~~~~
combo.cpp:13:23: error: expected ';' before '}' token
   13 |             odp += 'Y'
      |                       ^
      |                       ;
   14 |     }
      |     ~                  
combo.cpp:20:23: error: expected ';' before '}' token
   20 |             odp += 'B'
      |                       ^
      |                       ;
   21 |     }
      |     ~