#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fastio ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
const int N = 2e5+5;
int trie[N][26], cc[N][2];
int dp[N];
int cnt = 1;
void insert(string s, int type)
{
int node = 0;
cc[node][type]++;
for(auto it:s)
{
if(trie[node][it-'a'] == 0) trie[node][it-'a'] = cnt++;
cc[node][type]++;
node = trie[node][it-'a'];
}
}
int solve(int node, int l)
{
auto &ret = dp[node];
if(cc[node][l] == 0)
{
return 0;
}
ret = 0;
for(int i = 0; i < 26; i++)
{
int x = trie[node][i];
if(x != 0)
{
ret |= (solve(x, l^1) == 0);
}
}
return ret;
}
signed main()
{
int n, m;
cin >> n;
string s;
for(int i = 0; i < n; i++)
{
cin >>s;
insert(s, 0);
}
cin >> n;
for(int i = 0; i < n; i++)
{
cin >>s;
insert(s, 1);
}
cout << (solve(0, 0)==1?"Nina":"Emilija");
return 0;
}
# | 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... |