제출 #1238115

#제출 시각아이디문제언어결과실행 시간메모리
1238115noyancanturk콤보 (IOI18_combo)C++20
100 / 100
7 ms484 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; int res; string guess_sequence(int n){ string s1="AB",s2="XY",a="A",b="B",c="X",d="Y"; string cur; res=press(s1); if(res){ res=press(a); if(res)cur=a; else cur=b; }else{ res=press(c); if(res)cur=c; else cur=d; } vector<string>like; for(string s:{a,b,c,d}){ if(s!=cur){ like.push_back(s); } } // if(!(n&1)){ // res=press(cur+a+cur+b); // if(res){ // res=press(cur+a); // if(res)cur+=a; // else cur+=b; // }else{ // res=press(cur+c); // if(res)cur+=c; // else cur+=d; // } // } while(cur.size()<n&&4*cur.size()+7<=4*n){ res=press(cur+like[0]+cur+like[1]+like[0]+cur+like[1]+like[1]+cur+like[1]+like[2]); if(res==cur.size()){ cur+=like[2]; }else if(res==cur.size()+1){ cur+=like[0]; }else{ cur+=like[1]; } } while(cur.size()<n){ res=press(cur+a+cur+b); if(res==cur.size()+1){ res=press(cur+a); if(res==cur.size()+1)cur+=a; else cur+=b; }else{ res=press(cur+c); if(res==cur.size()+1)cur+=c; else cur+=d; } } return cur; } // std::string guess_sequence(int N) { // std::string p = ""; // for (int i = 0; i < 4 * N; ++i) { // p += 'A'; // } // int coins = press(p); // std::string S = ""; // for (int i = 0; i < N; ++i) { // S += 'A'; // } // return S; // }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...