제출 #1142622

#제출 시각아이디문제언어결과실행 시간메모리
1142622xcalimarCombo (IOI18_combo)C++20
0 / 100
19 ms408 KiB
#include <bits/stdc++.h> #include "combo.h" #define REP(i, a, b) for(int i = a; i<b; i++) #define all(v) v.begin(), v.end() #define i64 long long using namespace std; const i64 MOD = 1000000007; string guess_sequence(int n){ //char a = 'A', b = 'B', x = 'X', y = 'Y'; vector<string> a = {"A", "B", "X", "Y"}; vector<string> c; string s = ""; string f = ""; string test = "AB"; int ans = press(test); if(ans == 0){ ans = press("X"); if(ans == 0){ s += 'Y'; f += 'Y'; } else{ s += 'X'; f += 'X'; } } else{ ans = press("A"); if(ans == 0){ s += 'B'; f += 'B'; } else{ s += 'A'; f += 'A'; } } REP(i, 0, 4){ if(a[i] == f) continue; c.push_back(a[i]); } string t; while(s.size() < n-1){ t += s + c[1]; REP(i, 0, 3){ t += s + c[0] + c[i]; } ans = press(t); if(ans == 0){ s += c[2]; } else if(ans == 1){ s += c[1]; } else if(ans == 2){ s += c[0]; } t = ""; } test = s + "AB"; ans = press(test); if(ans == 0){ test = s + "X"; ans = press(test); if(ans == 0) s += 'Y'; else s += 'X'; } else{ test = s + "A"; ans = press(test); if(ans == 0) s += 'B'; else s += 'A'; } return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...