# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1096488 | YugiHacker | Cezar (COCI16_cezar) | C++17 | 1 ms | 604 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/*
www.youtube.com/YugiHackerChannel
oj.vnoi.info/user/YugiHackerKhongCopCode
*/
#include<bits/stdc++.h>
#define el cout<<"\n"
#define f0(i,n) for(int i=0;i<n;++i)
#define f1(i,n) for(int i=1;i<=n;++i)
#define maxn 102
using namespace std;
int n, b[maxn], deg[maxn], topo[maxn], cnt;
string s[maxn];
set <int> a[26];
main()
{
ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin >> n;
f1 (i, n) cin >> s[i];
f1 (i, n) cin >> b[i];
f1 (i, n) for (int j=i+1; j<=n; j++)
{
int x = b[i], y = b[j];
bool ok = 0;
f0 (k, min(s[x].size(), s[y].size()))
if (s[x][k] != s[y][k])
{
a[s[x][k]-'a'].insert(s[y][k]-'a');
ok = 1;
break;
}
if (ok == 0 && s[x].size() > s[y].size()) return cout << "NE", 0;
}
queue <int> q;
f0 (i, 26) for (int v:a[i]) deg[v]++;
f0 (i, 26) if (deg[i] == 0) q.push(i);
while (q.size())
{
int u = q.front(); q.pop();
topo[u] = ++cnt;
for (int v:a[u]) if (--deg[v] == 0) q.push(v);
}
f0 (i, 26) if (deg[i]) return cout << "NE", 0;
f0 (i, 26) if (!topo[i]) topo[i] = ++cnt;
cout << "DA", el;
f0 (i, 26) cout << (char)('a' + topo[i] - 1);
}
Compilation message (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... |
# | 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... |