# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
643134 | 2022-09-21T09:20:49 Z | TimDee | Password (RMI18_password) | C++17 | 5 ms | 336 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++; } ans.pop_back(); --addedb; } else for(int k=0; k<x; ++k) {ans+='b'; addedb++;} ans.push_back('a'); } 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; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 5 ms | 208 KB | Guessed the password with 507 queries. |
# | 결과 | 실행 시간 | 메모리 | 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 | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 2 ms | 336 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 5 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 | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 208 KB | Guessed the password with 211 queries. |
2 | Correct | 5 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 | - |