# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1023857 | 2024-07-15T07:56:49 Z | Double_Slash | Cezar (COCI16_cezar) | C++17 | 1 ms | 604 KB |
#include <bits/stdc++.h> #define debug(x) [&] { auto _x = x; cerr << __LINE__ << ": " << #x << " = " << _x << endl; return _x; }() using namespace std; int n, deg[26], ans[26]; string raw[100], words[101]; vector<int> adj[26]; bool solve() { for (int i = 1; i < n; ++i) { for (int j = 0; j < words[i].size(); ++j) { if (j == words[i + 1].size()) return false; if (words[i][j] != words[i + 1][j]) { adj[words[i][j] - 'a'].emplace_back(words[i + 1][j] - 'a'); deg[words[i + 1][j] - 'a']++; break; } } } queue<int> q; for (int i = 0; i < 26; ++i) { if (not deg[i]) q.emplace(i); } int idx = 0; while (not q.empty()) { int i = q.front(); q.pop(); ans[i] = idx++; for (int j: adj[i]) { if (not --deg[j]) q.emplace(j); } } if (idx < 26) return false; cout << "DA\n"; for (int i = 0; i < 26; ++i) cout << (char) ('a' + ans[i]); cout << endl; return true; } int main() { cin >> n; for (int i = 0; i < n; ++i) cin >> raw[i]; for (int i = 0; i < n; ++i) { int j; cin >> j; words[j] = raw[i]; } if (not solve()) cout << "NE\n", assert(false); else { for (int i = 1; i <= n; ++i) { for (char &c: words[i]) { c = ans[c - 'a'] + 'a'; } if (i > 1) assert(words[i] > words[i - 1]); debug(words[i]); } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Runtime error | 0 ms | 604 KB | Execution killed with signal 6 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 600 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 348 KB | Output is correct |
2 | Runtime error | 0 ms | 604 KB | Execution killed with signal 6 |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 0 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 604 KB | Execution killed with signal 6 |
2 | Halted | 0 ms | 0 KB | - |