제출 #522113

#제출 시각아이디문제언어결과실행 시간메모리
522113new_acc콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #define ll long long #define fi first #define se second using namespace std; const size_t N=2e3+10; string s; /*size_t press(string p){ size_t res=0; for(size_t i=0;i<p.size();i++){ size_t j=i; while(j-i<s.size()&&j<p.size()&&p[j]==s[j-i]) j++; res=max(res,j-i); } return res; }*/ string guess_sequence(int n){ string curr=""; string k1,k2,k3; if(press("A")) curr="A",k1="Y",k2="X",k3="B"; else{ if(press("Y")) curr="Y",k1="X",k2="A",k3="B"; else{ if(press("B")) curr="B",k1="Y",k2="A",k3="X"; else curr="X",k1="Y",k2="A",k3="B"; } } size_t i; for(i=2;(int)i<=n-2;){ size_t x=press(curr+k1+k2+k3+curr+k1+k1+k3+curr+k2+k1+k3); if(x==0+curr.size()){curr+=k3,i++;continue;} if(x==1+curr.size()){ size_t x2=press(curr+k1+curr+k2+k2+k3+curr+k2+k3+k3+curr+k2+k2+k1); if(x2==curr.size()+1){curr+=k1+k3;i+=2;continue;} if(x2==curr.size()+2){ size_t x3=press(curr+k2+k3+k1); if(x3==curr.size()+1) curr+=k2+k2+k2; else{ if(x3==curr.size()+2) curr+=k2+k3+k2; else curr+=k2+k3+k1; } i+=3; continue; } size_t x3=press(curr+k2+k2+k3); if(x3==curr.size()+1) curr+=k2+k3+k3; else{ if(x3==curr.size()+2) curr+=k2+k2+k1; else curr+=k2+k2+k3; } i+=3; continue; } if(x==2+curr.size()){ size_t x2=press(curr+k2+k1+curr+k1+k2+k1+curr+k1+k2+k2); if(x2==curr.size()+1){ size_t x3=press(curr+k1+k1+k1); if(x3==curr.size()+2) curr+=k1+k1+k2; else curr+=k1+k1+k1; i+=3; continue; } if(x2==curr.size()+2){ size_t x3=press(curr+k2+k1+k1); if(x3==curr.size()+2) curr+=k2+k1+k2; else curr+=k2+k1+k1; }else{ size_t x3=press(curr+k1+k2+k1); if(x3==curr.size()+2) curr+=k1+k2+k2; else curr+=k1+k2+k1; } i+=3; continue; }else{ size_t x2=press(curr+k1+k2+k3); if(x2==curr.size()+3){curr+=k1+k2+k3;i+=3;continue;} x2=press(curr+k1+k1+k3); if(x2==curr.size()+3) curr+=k1+k1+k3; else curr+=k2+k1+k3; i+=3; continue; } } if((int)curr.size()==n-2){ size_t x=press(curr+k1+k2+curr+k2+k2); if(x==curr.size()) curr+=k3; else{ if(x==curr.size()+2){ size_t x2=press(curr+k1+k2); if(x2==curr.size()+2) curr+=k1+k2; else curr+=k2+k2; }else{ size_t x2=press(curr+k1+k1+curr+k2+k1); if(x2==curr.size()+2){ size_t x3=press(curr+k1+k1); if(x3==curr.size()+2) curr+=k1+k1; else curr+=k2+k1; }else{ size_t x3=press(curr+k1); if(x3==curr.size()+1) curr+=k1+k3; else curr+=k2+k3; } } } } if((int)curr.size()==n-1){ size_t x=press(curr+k1+curr+k2+k1+curr+k2+k2+curr+k2+k3); if(x==curr.size()) curr+=k3; else{ if(x==curr.size()+1) curr+=k1; else{ if(x==curr.size()+2) curr+=k2; } } } return curr; } /*int main(){ cin>>s; cout<<guess_sequence(s.size())<<"\n"; return 0; }*/

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:20:5: error: 'press' was not declared in this scope
   20 |  if(press("A")) curr="A",k1="Y",k2="X",k3="B";
      |     ^~~~~
combo.cpp:30:12: error: 'press' was not declared in this scope
   30 |   size_t x=press(curr+k1+k2+k3+curr+k1+k1+k3+curr+k2+k1+k3);
      |            ^~~~~
combo.cpp:85:12: error: 'press' was not declared in this scope
   85 |   size_t x=press(curr+k1+k2+curr+k2+k2);
      |            ^~~~~
combo.cpp:107:12: error: 'press' was not declared in this scope
  107 |   size_t x=press(curr+k1+curr+k2+k1+curr+k2+k2+curr+k2+k3);
      |            ^~~~~