# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
983561 | Zbyszek99 | Combo (IOI18_combo) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
//#include "combo.h"
using namespace std;
int press(string s)
{
cout << s << ": ";
int ans;
cin >> ans;
return ans;
}
string guess_sequence(int n)
{
string ans;
string first_char;
int pom = press("AB");
if(pom >= 1)
{
pom = press("A");
if(pom == 1) first_char = "A";
else first_char = "B";
}
else
{
pom = press("X");
if(pom == 1) first_char = "X";
else first_char = "Y";
}
ans = first_char;
string char1 = "A", char2 = "B", char3 = "X";
if(first_char == "A") char1 = "Y";
if(first_char == "B") char2 = "Y";
if(first_char == "X") char3 = "Y";
int cur_len = 1;
for(int i = 0; i < n-2; i++)
{
pom = press(ans + char1 + ans + char2 + char1 + ans + char2 + char2 + ans + char2 + char3);
if(pom == cur_len+1) ans += char1;
else if(pom == cur_len+2) ans += char2;
else ans += char3;
cur_len++;
}
pom = press(ans + char1);
if(pom == cur_len+1) return ans + char1;
pom = press(ans + char2);
if(pom == cur_len+1) return ans + char2;
pom = press(ans + char3);
if(pom == cur_len+1) return ans + char3;
}
int main()
{
cout << guess_sequence(3) << "\n";
}