# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
201117 | 2020-02-09T11:28:40 Z | SamAnd | Cezar (COCI16_cezar) | C++17 | 6 ms | 376 KB |
#include <bits/stdc++.h> using namespace std; const int N = 102; int n; string a[N]; string b[N]; int u[N]; vector<int> g[26]; int c[26]; bool dfs(int x) { c[x] = 1; for (int i = 0; i < g[x].size(); ++i) { int h = g[x][i]; if (c[h] == 1) return false; if (!c[h]) { if (!dfs(h)) return false; } } c[x] = 2; return true; } vector<char> v; void dfs1(int x) { c[x] = 1; for (int i = 0; i < g[x].size(); ++i) { int h = g[x][i]; if (!c[h]) dfs1(h); } v.push_back(x); } char ans[33]; int main() { //freopen("input.txt", "r", stdin); cin >> n; for (int i = 1; i <= n; ++i) cin >> b[i]; for (int i = 1; i <= n; ++i) cin >> u[i]; for (int i = 1; i <= n; ++i) { a[i] = b[u[i]]; } for (int i = 1; i <= n; ++i) { for (int j = i + 1; j <= n; ++j) { bool z = true; if (a[i].size() <= a[j].size()) continue; for (int k = 0; k < a[j].size(); ++k) { if (a[j][k] != a[i][k]) { z = false; break; } } if (z) { cout << "NE" << endl; return 0; } } } for (int i = 1; i <= n; ++i) { for (int j = i + 1; j <= n; ++j) { for (int k = 0; ; ++k) { if (k == a[i].size() || k == a[j].size()) break; if (a[i][k] != a[j][k]) { g[a[j][k] - 'a'].push_back(a[i][k] - 'a'); break; } } } } for (int i = 0; i < 26; ++i) { if (!c[i]) { if (!dfs(i)) { cout << "NE" << endl; return 0; } } } memset(c, 0, sizeof c); for (int i = 0; i < 26; ++i) { if (!c[i]) { dfs1(i); } } for (int i = 0; i < 26; ++i) ans[v[i]] = i + 'a'; cout << "DA" << endl; cout << ans << endl; return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 256 KB | Output is correct |
2 | Correct | 5 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 376 KB | Output is correct |
2 | Correct | 5 ms | 256 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 6 ms | 376 KB | Output is correct |
2 | Correct | 6 ms | 376 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |