제출 #1208396

#제출 시각아이디문제언어결과실행 시간메모리
1208396Aviansh콤보 (IOI18_combo)C++20
100 / 100
20 ms484 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int n) { srand(time(0)); //press(); string curr = "AB"; int c = press(curr); if(c==0){ curr="X"; if(press(curr)==0) curr="Y"; } else if(c == 1){ if(press("A")){ curr="A"; } else{ curr="B"; } } else{ curr="A"; } //curr has first character now; string chars = ""; if(curr=="A"){ chars="BXY"; } else if(curr=="B"){ chars="AXY"; } else if(curr=="X"){ chars="ABY"; } else{ chars="ABX"; } //chars has the thingies now; for(int i = 1;i<n-1;i++){ string query = ""; for(int j = 0;j<i;j++){ query+=curr[j]; } query+=chars[0]; query+=chars[0]; for(int j = 0;j<i;j++){ query+=curr[j]; } query+=chars[0]; query+=chars[1]; for(int j = 0;j<i;j++){ query+=curr[j]; } query+=chars[0]; query+=chars[2]; for(int j = 0;j<i;j++){ query+=curr[j]; } query+=chars[1]; int x = press(query); if(x==curr.size()){ curr+=chars[2]; } else if(x==curr.size()+1){ curr+=chars[1]; } else{ curr+=chars[0]; } } if(curr.size()<n){ curr+=chars[0]; if(press(curr)==curr.size()){ return curr; } curr[curr.size()-1]=chars[1]; if(press(curr)==curr.size()){ return curr; } curr[curr.size()-1]=chars[2]; } return curr; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...