# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1004393 | 2024-06-21T08:31:24 Z | NoLove | Vlak (COCI20_vlak) | C++14 | 13 ms | 22004 KB |
/** * author : Lăng Trọng Đạt * created: 21-06-2024 **/ #include <bits/stdc++.h> using namespace std; #ifndef LANG_DAT #define db(...) ; #endif // LANG_DAT #define int long long #define mp make_pair #define f first #define se second #define pb push_back #define all(v) (v).begin(), (v).end() using pii = pair<int, int>; using vi = vector<int>; #define FOR(i, a, b) for (int (i) = a; (i) <= (b); i++) void mx(int& a, int b) { if (b > a) a = b; } void mi(int& a, int b) { if (b < a) a = b; } #define si(x) (int)(x.size()) const int INF = 1e18; const int MOD = 1e9 + 7; const int MAXN = 1e6 + 5; bitset<MAXN> dp, nina, em; int d[MAXN]; int nxt[MAXN][29]; int n, m, sz = 0; string s, t; void insert(string& s, bool Nina = true) { int v = 0; for (char c : s) { (Nina ? nina[v] = 1 : em[v] = 1); if (!nxt[v][c - 'a']) { nxt[v][c - 'a'] = ++sz; // db(c, sz) } d[nxt[v][c - 'a']] = d[v] + 1; v = nxt[v][c - 'a']; } (Nina ? nina[v] = 1 : em[v] = 1); } bool dfs(int v, int h) { // db(v, h, nina[v], em[v]) bool res1 = false, res2 = false; if (nina[v] && !em[v]) return true; else if (!nina[v] && em[v]) return false; else if (!nina[v] && !em[v]) return h % 2 == 0; FOR(i, 0, 28) if (nxt[v][i]) { bool tmp = dfs(nxt[v][i], h + 1); (tmp ? res1 = 1 : res2 = 1); } if (h % 2 == 1) { return !res2; } else return res1; } int32_t main() { cin.tie(0)->sync_with_stdio(0); if (fopen("hi.inp", "r")) { freopen("hi.inp", "r", stdin); // freopen("hi.out", "w", stdout); } cin >> n; FOR(i, 1, n) { cin >> s; insert(s); } cin >> m; FOR(i, 1, m) { cin >> t; insert(t, 0); } db(sz) cout << (dfs(0, 0) ? "Nina" : "Emilija"); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 600 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 1 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 604 KB | Output is correct |
2 | Correct | 1 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 1 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 604 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 1 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 600 KB | Output is correct |
2 | Correct | 0 ms | 604 KB | Output is correct |
3 | Correct | 0 ms | 604 KB | Output is correct |
4 | Correct | 0 ms | 604 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 12 ms | 20652 KB | Output is correct |
2 | Correct | 12 ms | 19292 KB | Output is correct |
3 | Correct | 12 ms | 18264 KB | Output is correct |
4 | Correct | 13 ms | 20048 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 11 ms | 21084 KB | Output is correct |
2 | Correct | 11 ms | 22004 KB | Output is correct |
3 | Correct | 10 ms | 20316 KB | Output is correct |
4 | Correct | 9 ms | 20576 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 13 ms | 19972 KB | Output is correct |
2 | Correct | 11 ms | 19472 KB | Output is correct |
3 | Correct | 12 ms | 19892 KB | Output is correct |
4 | Correct | 12 ms | 21084 KB | Output is correct |