# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1026289 | 2024-07-17T18:59:32 Z | Nicolaikrob | Type Printer (IOI08_printer) | C++17 | 1000 ms | 183736 KB |
#pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2,fma") #include <bits/stdc++.h> using namespace std; string lgst, s, O; unordered_map<string, int> M; void out() { cout << O.size() << '\n'; for(auto x : O) cout << x << '\n'; exit(0); } void dfs() { if(!M[s]) return; int ln = s.size(); if(ln) O.push_back(s[ln-1]); if(M[s] == 2) O.push_back('P'); for(int i = 'a'; i <= 'z'; i++) { if(i == lgst[ln]) continue; s += char(i); dfs(); s.pop_back(); } s += char(lgst[ln]); dfs(); s.pop_back(); s += '.'; if(s == lgst) out(); s.pop_back(); O.push_back('-'); } int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<string> W(n); for(auto &x : W) cin >> x; int ml = 0; for(int i = 0; i < n; i++) { if(W[i].size() > ml) lgst = W[i], ml = W[i].size(); } lgst += '.'; for(int i = 0; i < n; i++) { string t = ""; for(int j = 0; j < W[i].size(); j++) { t += W[i][j]; M[t] = max(M[t], 1); } M[t] = 2; } M[""] = 1; s = ""; dfs(); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 344 KB | Output is correct |
2 | Correct | 1 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 856 KB | Output is correct |
2 | Correct | 1 ms | 344 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 348 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 1372 KB | Output is correct |
2 | Correct | 18 ms | 8044 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 41 ms | 15540 KB | Output is correct |
2 | Correct | 46 ms | 17536 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 243 ms | 48060 KB | Output is correct |
2 | Correct | 753 ms | 104708 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1002 ms | 128492 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1062 ms | 181728 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1060 ms | 183736 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |