# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
696286 | jhwest2 | Password (RMI18_password) | C++17 | 1043 ms | 644 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
int query(string str);
int n, s, cnt[26];
string guess(int _n, int _s) {
n = _n; s = _s;
for (int i = 0; i < s; i++) {
string str;
for (int j = 0; j < n; j++)
str += 'a' + i;
cnt[i] = query(str);
}
string left, right;
for (int i = 0; i < cnt[0]; i++)
left += 'a';
for (int i = 0; i < cnt[s / 2]; i++)
right += 'a' + s / 2;
for (int i = 1; i < s / 2; i++) {
string ask = left;
int sz = left.size();
vector<int> num(sz + 1);
for (int j = 0; j <= sz; j++) {
string tmp = ask;
while (tmp.size() < n)
tmp += 'a' + i;
num[j] = query(tmp) - ask.size();
if (j != sz)
ask.pop_back();
}
ask = left;
left.clear();
for (int j = sz; j > 0; j--)
num[j] -= num[j - 1];
for (int j = 0; j <= sz; j++) {
while (num[sz - j]--)
left += 'a' + i;
if (j != sz)
left += ask[j];
}
}
for (int i = s / 2 + 1; i < s; i++) {
string ask = right;
int sz = right.size();
vector<int> num(sz + 1);
for (int j = 0; j <= sz; j++) {
string tmp = ask;
while (tmp.size() < n)
tmp += 'a' + i;
num[j] = query(tmp) - ask.size();
if (j != sz)
ask.pop_back();
}
ask = right;
right.clear();
for (int j = sz; j > 0; j--)
num[j] -= num[j - 1];
for (int j = 0; j <= sz; j++) {
while (num[sz - j]--)
right += 'a' + i;
if (j != sz)
right += ask[j];
}
}
string ans;
int sz = left.size(), p = 0;
for (int i = 0; i < right.size(); i++) {
while (p < sz && query(ans + right[i] + left.substr(p, sz - p)) != ans.size() + 1 + sz - p) {
ans += left[p++];
}
ans += right[i];
}
while (p < sz)
ans += left[p++];
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |