# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
643137 | 2022-09-21T09:23:27 Z | TimDee | Password (RMI18_password) | C++17 | 6 ms | 208 KB |
#include <bits/stdc++.h> using namespace std; int query(string s); string guess(int n, int c) { if (c==2) { string A(n,'a'), B(n,'b'); int a=query(A),b=query(B); string ans; int added=0; for (int i=a; i>=0; --i) { string s; for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='b'; int x=query(s); for (int j=0; j<x-added-i; ++j) ans+='b'; ans+='a'; added=x-i; } ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } if (c==3) { string A(n,'a'), B(n,'b'), C(n,'c'); int a=query(A),b=query(B),c=query(C); string ans; int addedb=0,addedc=0; for (int i=a; i>=0; --i) { string s; for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='b'; int x=query(s)-i-addedb; s.clear(); for (int j=0; j<i; ++j) s+='a'; for (int j=i; j<n; ++j) s+='c'; int y=query(s)-i-addedc; string tmp(i,'a'); int added=0; cout<<x<<' '<<y<<'\n'; if (y) { for (int j=x; j>=0; --j) { string s=tmp; for (int k=0; k<j; ++k) s+='b'; for (int k=0; k<y; ++k) s+='c'; int v=query(s)-i-j-added; for (int k=0; k<v; ++k) { ans+='c'; addedc++; added++; } ans+='b'; addedb++; } if (ans.size()) {ans.pop_back(); --addedb;} } else for(int k=0; k<x; ++k) {ans+='b'; addedb++;} ans.push_back('a'); } if (ans.size()) ans.pop_back(); reverse(ans.begin(), ans.end()); return ans; } if (n<=c && c<=26) { string ans(n,'.'); for (char i='a'; i<'a'+c; ++i) { int x=0; for (char j='a'; j<'a'+c; ++j) { if (j==i) continue; string s; s+=i; s+=j; int q=query(s); x+=q-1; } if (x<0) continue; ans[n-1-x]=i; } int paiu=1; for (auto x:ans) paiu&=x!='.'; if (paiu) return ans; } return "abc"; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 6 ms | 208 KB | Guessed the password with 507 queries. |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 208 KB | Guessed the password with 28 queries. |
2 | Runtime error | 0 ms | 208 KB | Execution killed with signal 13 |
3 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 208 KB | Returned early from guess() after 1 queries. |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 6 ms | 208 KB | Guessed the password with 507 queries. |
3 | Correct | 1 ms | 208 KB | Guessed the password with 28 queries. |
4 | Runtime error | 0 ms | 208 KB | Execution killed with signal 13 |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 6 ms | 208 KB | Guessed the password with 507 queries. |
3 | Correct | 1 ms | 208 KB | Guessed the password with 28 queries. |
4 | Runtime error | 0 ms | 208 KB | Execution killed with signal 13 |
5 | Halted | 0 ms | 0 KB | - |