제출 #1142704

#제출 시각아이디문제언어결과실행 시간메모리
1142704redaisthegoat콤보 (IOI18_combo)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#include "combo.h"
using namespace std;
string guess_sequence(int N) {
  string S="";
  int rep = press("AB");
  int a;
  if(rep>=1){
      rep= press("A");
      if(rep==1){
          S+='A';
          while(S.length()<N){
              a=S.length();
              string comb=S+"B"+S+"XX"+S+"XY"+S+"XB";
              rep = press(comb);
              if(rep==a+1){
                  S+="B";
              }
              if(rep==a+2){
                  S+="X";
                  
              }
              else S+="Y";
                  
            }
            rep= press(S+"X");
            if(rep==1) S+="X";
            else{
                rep= press(S+="B");
                if(rep==1) S+="B";
                else S+="Y";
            }
          
      }
      else {
          S+='B';
          while(S.length()<N){
              a=S.length();
              string comb=S+"A"+S+"XX"+S+"XY"+S+"XA";
              rep = press(comb);
              if(rep==a+1){
                  S+="A";
              }
              if(rep==a+2){
                  S+="X";
                  
              }
              else S+="Y";
                  
            }
            rep= press(S+"X");
            if(rep==1) S+="X";
            else{
                rep= press(S+="A");
                if(rep==1) S+="A";
                else S+="Y";
            }
      }
  }
       if(rep==0){
      rep = press('X');
      if(rep==1){
          S+='X';
          while(S.length()<N){
              a=S.length();
              string comb=S+"Y"+S+"AA"+S+"AB"+S+"AY";
              rep = press(comb);
              if(rep==a+1){
                  S+="Y";
              }
              if(rep==a+2){
                  S+="A";
                  
              }
              else S+="B";
                  
            }
            rep= press(S+"A");
            if(rep==1) S+="A";
            else{
                rep= press(S+="Y");
                if(rep==1) S+="Y";
                else S+="B";
            }
      }
      else{
          S+='Y';
          while(S.length()<N){
              a=S.length();
              string comb=S+"X"+S+"AA"+S+"AB"+S+"AX";
              rep = press(comb);
              if(rep==a+1){
                  S+="X";
              }
              if(rep==a+2){
                  S+="A";
                  
              }
              else S+="B";
                  
            }
            rep= press(S+"A");
            if(rep==1) S+="A";
            else{
                rep= press(S+="X");
                if(rep==1) S+="X";
                else S+="B";
            }
      }
          
  }

  
  return S;
  }
      
 

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:61:19: error: could not convert ''X'' from 'char' to 'std::string' {aka 'std::__cxx11::basic_string<char>'}
   61 |       rep = press('X');
      |                   ^~~
      |                   |
      |                   char