제출 #1324263

#제출 시각아이디문제언어결과실행 시간메모리
1324263mantaggez콤보 (IOI18_combo)C++20
94 / 100
9 ms592 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int N) { string s = ""; string src; if(press("A")) s += "A", src = "ABXY"; else if(press("X")) s += "X", src = "XABY"; else if(press("B")) s += "B", src = "BAXY"; else s += "Y", src = "YABX"; int idx = 1; for(int i=0;i<N-2;i++) { string p = ""; p += ((s + src[2]) + (s + src[3] + src[1]) + (s + src[3] + src[2]) + (s + src[3] + src[3])); // cout << p << '\n'; int cnt = press(p); // cout << cnt << "\n"; // cout << "idx : " << idx << '\n'; if(cnt == idx) s += src[1]; else if(cnt == idx + 1) s += src[2]; else s += src[3]; idx++; } idx++; // cout << "idx : " << idx << '\n'; // cout << s + src[1] + s + src[2] << '\n'; // cout << s + src[2] + s + src[3] << '\n'; int len1 = press((s + src[1]) + (s + src[2])); int len2 = press((s + src[2]) + (s + src[3])); if(len1 == idx && len2 == idx) s += src[2]; else if(len1 == idx) s += src[1]; else if(len2 == idx) s += src[3]; // cout << "len1 : " << len1 << '\n'; // cout << "len2 : " << len2 << '\n'; // cout << "final string : " << s << '\n'; return s; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...