# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1161760 | ezzatw122 | Vlak (COCI20_vlak) | C++20 | 6 ms | 12176 KiB |
#include <bits/stdc++.h>
// you just try again
using namespace std;
#define ll long long
void read() {
# ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
# endif
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
}
const int N = 1e5 + 5, M = 2;
struct Node {
int chid[26], lvl, cnt[2];
Node() {
for (int i = 0; i < 26; ++i)chid[i] = -1;
lvl = cnt[0] = cnt[1] = 0;
}
};
Node Trie[N];
int len;
void add(string s, int type){
int node = 0;
Trie[node].cnt[type]++;
int lvl = 0;
for (char c: s){
int pos = c - 'a';
if (Trie[node].chid[pos] == -1)
Trie[node].chid[pos] = ++len;
node = Trie[node].chid[pos];
Trie[node].lvl = ++lvl;
Trie[node].cnt[type]++;
}
}
int dp[N], n, m;
int solve(int node) {
int &ret = dp[node];
if (~ret)return ret;
ret = 0;
int turn = Trie[node].lvl & 1;
if (!Trie[node].cnt[turn])return ret = 0;
for (int i = 0; i < 26; ++i) {
if (Trie[node].chid[i] != -1)ret |= !solve(Trie[node].chid[i]);
}
return ret;
}
void code() {
cin >> n;
memset(dp, -1, sizeof dp);
for (int i = 0; i < n; ++i) {
string s;
cin >> s;
add(s, 0);
}
cin >> m;
for (int i = 0; i < m; ++i) {
string s;
cin >> s;
add(s, 1);
}
cout << (solve(0) ? "Nina" : "Emilija");
}
int main() {
read();
int t = 1;
// cin >> t;
while (t--)code();
}
컴파일 시 표준 에러 (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... |