Submission #310612

#TimeUsernameProblemLanguageResultExecution timeMemory
310612LucaDantas콤보 (IOI18_combo)C++17
94 / 100
40 ms576 KiB
/*#include<bits/stdc++.h> using namespace std; #include "combo.h" #define pb push_back #define sz(a) (int)((a).size()) string guess_sequence(int n) { string p = ""; vector<char> dif; if(press("AB")) { if(press("A")) p = "A"; else p = "B"; } else if(press("X")) p = "X"; else p = "Y"; for(char c : {'A','B','X','Y'}) if(c != p[0]) dif.pb(c); for(int i = 1; i < n-1; i++) { string q = p; q.pb(dif[0]); for(int j = 0; j < 3; j++) { q += p; q.pb(dif[1]); q.pb(dif[j]); } int ans = press(q); if(ans == sz(p)) p.pb(dif[2]); else if(ans == sz(p)+1) p.pb(dif[0]); else p.pb(dif[1]); } bool ok = 0; for(int j = 0; j < 2; j++) { p.pb(dif[j]); if(press(p) == n) {ok = 1; break;}; p.pop_back(); } if(!ok) p.pb(dif[2]); return p; } */ #include<bits/stdc++.h> using namespace std; #include "combo.h" #define pb push_back #define sz(a) (int)((a).size()) string guess_sequence(int n) { string p = ""; vector<char> dif; if(press("AB")) { if(press("A")) p = "A"; else p = "B"; } else if(press("X")) p = "X"; else p = "Y"; for(char c : {'A','B','X','Y'}) if(c != p[0]) dif.pb(c); /*for(int i = 1; i < n; i++) { for(char c : dif) { p.pb(c); if(press(p) == sz(p)) break; p.pop_back(); } }*/ for(int i = 1; i < n-1; i++) { string q = ""; q += p; q.pb(dif[1]); for(int j = 0; j < 3; j++) { q += p; q.pb(dif[0]); q.pb(dif[j]); } int ans = press(q); if(ans == sz(p)) p.pb(dif[2]); else if(ans == sz(p)+1) p.pb(dif[1]); else p.pb(dif[0]); } int cnt = 0; for(char c : dif) { p.pb(c); if(press(p) == sz(p)) break; p.pop_back(); // if(++cnt == 2) break; } // if(cnt == 2) assert(sz(p) != n), p.pb(dif.back()); // bool ok = 0; // for(int j = 0; j < 2; j++) { // p.pb(dif[j]); // if(press(p) == sz(p)) {ok = 1; break;}; // p.pop_back(); // } // if(!ok) assert(sz(p) != n), p.pb(dif[2]); assert(sz(p) == n); return p; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:84:6: warning: unused variable 'cnt' [-Wunused-variable]
   84 |  int cnt = 0;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...