Submission #126759

#TimeUsernameProblemLanguageResultExecution timeMemory
126759losmi247Combo (IOI18_combo)C++14
100 / 100
48 ms648 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; string s; /*long long press(string t){ cout << t << endl; long long ans; cin >> ans; return ans; }*/ long long ask(string t){ return (long long) press(t); } string guess_sequence(int N){ long long a=0,b=0,x=0,y=0; long long n = N; if(ask("AB") >= 1){ if(ask("B") == 1){ b = 1; } else{ a = 1; } } else{ if(ask("X") == 1){ x = 1; } else{ y = 1; } } if(a){ s += "A"; if(n == 1){ return s; } for(long i = 1; i <= n-2; i++){ string r = s + "B" + s + "XY" + s + "XB" + s + "XX"; long long rez = ask(r); if(rez == i+1){ s += "B"; } if(rez == i+2){ s += "X"; } if(rez == i){ s += "Y"; } } string r = s+"B",e = s+"X"; long long r1 = ask(r); if(r1 == n){ return r; } long long r2 = ask(e); if(r2 == n){ return e; } return s+"Y"; } if(b){ s += "B"; if(n == 1){ return s; } for(long i = 1; i <= n-2; i++){ string r = s + "A" + s + "XY" + s + "XA" + s + "XX"; long long rez = ask(r); if(rez == i+1){ s += "A"; } if(rez == i+2){ s += "X"; } if(rez == i){ s += "Y"; } } string r = s+"A",e = s+"X"; long long r1 = ask(r); if(r1 == n){ return r; } long long r2 = ask(e); if(r2 == n){ return e; } return s+"Y"; } if(x){ s += "X"; if(n == 1){ return s; } for(long i = 1; i <= n-2; i++){ string r = s + "A" + s + "BY" + s + "BA" + s + "BB"; long long rez = ask(r); if(rez == i+1){ s += "A"; } if(rez == i+2){ s += "B"; } if(rez == i){ s += "Y"; } } string r = s+"B",e = s+"Y"; long long r1 = ask(r); if(r1 == n){ return r; } long long r2 = ask(e); if(r2 == n){ return e; } return s+"A"; } if(y){ s += "Y"; if(n == 1){ return s; } for(long i = 1; i <= n-2; i++){ string r = s + "A" + s + "BX" + s + "BA" + s + "BB"; long long rez = ask(r); if(rez == i+1){ s += "A"; } if(rez == i+2){ s += "B"; } if(rez == i){ s += "X"; } } string r = s+"B",e = s+"X"; long long r1 = ask(r); if(r1 == n){ return r; } long long r2 = ask(e); if(r2 == n){ return e; } return s+"A"; } } /*int main(){ cout << guess_sequence(1) << endl; }*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:149:1: warning: control reaches end of non-void function [-Wreturn-type]
  149 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...