Submission #642636

#TimeUsernameProblemLanguageResultExecution timeMemory
642636SlavicGPassword (RMI18_password)C++17
10 / 100
510 ms296 KiB
#include "bits/stdc++.h" using namespace std; int query(string str); #define sz(a) (int)a.size() string guess(int n, int s) { vector<pair<int, char>> v; for(int f = 0; f < s; ++f) { char c = char('a' + f); string paiu = string(n, c); int x = query(paiu); if(x > 0) { v.push_back({x, c}); } } assert(v.size() > 0); sort(v.begin(), v.end()); string ans = string(v[0].first, v[0].second); v.erase(v.begin()); assert(sz(ans) > 0); if(!sz(v)) return ans; for(auto noo: v) { char c = noo.second; int cnt = noo.first; vector<int> add(sz(ans) + 5, 0); string ff = ans; for(int i = 0; i <= sz(ff); ++i) { string bruh = ""; for(int j = 0; j < i; ++j) bruh += ff[j]; for(int j = 0; j < cnt; ++j) { bruh += c; string rem = bruh; for(int j = i; j < sz(ans); ++j) bruh += ans[j]; int qr = query(bruh); if(qr - sz(ans) == 1) { ans = bruh; ++add[i]; } bruh = rem; } assert(add[i] >= 0); cnt -= add[i]; assert(cnt >= 0); if(cnt <= 0) break; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...