Submission #1096488

# Submission time Handle Problem Language Result Execution time Memory
1096488 2024-10-04T15:37:53 Z YugiHacker Cezar (COCI16_cezar) C++17
30 / 100
1 ms 604 KB
/*
	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

cezar.cpp:14:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   14 | main()
      | ^~~~
cezar.cpp: In function 'int main()':
cezar.cpp:7:30: warning: comparison of integer expressions of different signedness: 'int' and 'const long unsigned int' [-Wsign-compare]
    7 | #define f0(i,n) for(int i=0;i<n;++i)
......
   24 |         f0 (k, min(s[x].size(), s[y].size()))
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cezar.cpp:24:9: note: in expansion of macro 'f0'
   24 |         f0 (k, min(s[x].size(), s[y].size()))
      |         ^~
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 604 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -