Submission #1284669

#TimeUsernameProblemLanguageResultExecution timeMemory
1284669RaresCombo (IOI18_combo)C++20
0 / 100
1 ms400 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string rez; /**int press (string p){ cout <<p<<'\n'; int rez; cin >>rez; return rez; }*/ bool ok[4]; char f (int x){ if (x==0) return 'A'; if (x==1) return 'B'; if (x==2) return 'X'; if (x==3) return 'Y'; } string guess_sequence(int n){ int x=press ("AB"); if (x){ int y=press ("A"); if (y) ok[0]=1; else ok[1]=1; } else{ int y=press ("X"); if (y) ok[2]=1; else ok[3]=1; } for (int i=0;i<4;++i){ if (ok[i]){ rez.push_back(f (i)); } } for (int i=1;i<n;++i){ if (i==n-1){ int crt=0; for (int j=0;j<4;++j){ if (ok[j]==0){ if (crt==2){ return rez+f (j); } int x=press (rez+f (j)); crt++; if (x==n){ return rez+f (j); } } } } else{ int crt=0,l1=-1,l2=-1,l3=-1; string s; for (int j=0;j<4;++j){ if (ok[j]==0){ if (crt==0){ l1=j; s.append (rez); s.push_back (f (j)); crt++; } else{ if (crt==2){ l3=j; break; } l2=j; for (int k=0;k<4;++k){ if (ok[k]==0){ s.append (rez); s.push_back (f (j)); s.push_back (f (k)); } } crt++; } } } int x=press (s); if (x==i){ rez.push_back (f (l3)); } else{ if (x==i+1){ rez.push_back (f (l1)); } else{ rez.push_back (f (l2)); } } } cout <<rez<<'\n'; } return rez; }

Compilation message (stderr)

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