제출 #468082

#제출 시각아이디문제언어결과실행 시간메모리
468082pluto_ishCombo (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
 
#define pb push_back
#define ff first
#define ss second
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
 
const ll INF = (ll)1<<62;
const ll MOD = 1e9+7;
const int iINF = 1<<30;
const double PI = 3.14159265359;

string guess_sequence(int n){
  string curr = "";
  if(press("AB")){
    if(press("A")) curr = "A";
    else curr = "B";
  }
  else{
    if(press("X")) curr = "X";
    else curr = "Y";
  }  

  string adder[4] = "";
  string rem = "";
  if(curr == "A"){
    adder[0] = "BB"; adder[1] = "BX"; adder[2] = "BY"; adder[3] = "X"; rem = "Y";
  }
  else if(curr == "B"){
    adder[0] = "AA"; adder[1] = "AX"; adder[2] = "AY"; adder[3] = "X"; rem = "Y";
  }
  else if(curr == "X"){
    adder[0] = "AA"; adder[1] = "AB"; adder[2] = "AY"; adder[3] = "Y"; rem = "B";
  }
  else{
    adder[0] = "AA"; adder[1] = "AB"; adder[2] = "AX"; adder[3] = "X"; rem = "B";
  }

  while((int)curr.size() < n-1){
    string q = curr + adder[0] + curr + adder[1] + curr + adder[2] + curr + adder[3];
    int resp = press(q);

    if(resp == (int)curr.size()+2)
      curr += string(1, adder[0][0]);
    else if(resp == (int)curr.size()+1)
      curr += string(1, adder[3][0]);
    else
      curr += rem;
  }  

  if(curr[0] == 'A'){
    adder[0] = "B"; adder[1] = "X"; rem = "Y";
  }
  else if(curr[0] == 'B'){
    adder[0] == "A"; adder[1] = "X"; rem = "Y";
  }
  else if(curr[0] == 'X'){
    adder[0] = "A"; adder[1] = "B"; rem = "Y";
  }
  else{
    adder[0] = "A"; adder[1] = "B"; rem = "X";
  }

  if(press(curr+adder[0]) == n)
    return curr + adder[0];
  if(press(curr+adder[1]) == n)
    return curr + adder[1];

  return curr + rem;  
}  

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:19:6: error: 'press' was not declared in this scope
   19 |   if(press("AB")){
      |      ^~~~~
combo.cpp:28:21: error: array must be initialized with a brace-enclosed initializer
   28 |   string adder[4] = "";
      |                     ^~
combo.cpp:45:16: error: 'press' was not declared in this scope
   45 |     int resp = press(q);
      |                ^~~~~
combo.cpp:68:6: error: 'press' was not declared in this scope
   68 |   if(press(curr+adder[0]) == n)
      |      ^~~~~
combo.cpp:70:6: error: 'press' was not declared in this scope
   70 |   if(press(curr+adder[1]) == n)
      |      ^~~~~