/*
Problems:
Author: AkiYuu
*/
#include <bits/stdc++.h>
#define task "GROUP"
#define ll long long
#define ld long double
#define pb(u) emplace_back(u)
#define ffw(i,a,b) for (ll i = a; i <= b; i++)
#define fbw(i,b,a) for (ll i = b; i >= a; i--)
#define adj(v,adj,u) for (auto v : adj[u])
#define rep(i,a) for (auto i : a)
#define reset(a) memset(a, 0, sizeof(a))
#define sz(a) a.size()
#define all(a) a.begin(),a.end()
using namespace std;
void fastio(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
// freopen(task".inp", "r", stdin);
// freopen(task".out", "w", stdout);
}
const int mxn = 1e6 + 5;
typedef pair<ll, ll> ii;
int trie[200005][26], dem = 0;
int can[2000005 * 26];
int n, m;
bool winner[2000005 * 26];
void add(string s, int col){
int node = 0;
for (char c : s){
int x = c - 'a';
if (trie[node][x] == 0) {
trie[node][x] = ++dem;
}
can[dem] |= ( 1 << col );
node = trie[node][x];
}
}
void dfs(int u, int player){
winner[u] = 1;
bool temp = 0;
ffw(i,0,25){
if ( trie[u][i] == 0) continue;
if ( can[trie[u][i] ] & ( 1 << (player^1)) ){
dfs(trie[u][i], player ^ 1);
winner[u] &= (winner[ trie[u][i] ] ^ 1);
}
}
}
string ans[2] = {"Nina", "Emilija"};
void solve(){
cin >> n;
ffw(i,1,n){
string s;
cin >> s;
add(s,0);
}
cin >> m;
ffw(i,1,m){
string s;
cin >> s;
add(s,1);
}
dfs(0,1);
cout << ans[winner[0] ]<< '\n';
}
int main(){
fastio();
int t = 1;
// cin >> t;
while (t--)
solve();
}
Compilation message
Main.cpp: In function 'void dfs(int, int)':
Main.cpp:53:10: warning: unused variable 'temp' [-Wunused-variable]
53 | bool temp = 0;
| ^~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
460 KB |
Output is correct |
2 |
Correct |
1 ms |
460 KB |
Output is correct |
3 |
Correct |
1 ms |
460 KB |
Output is correct |
4 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
332 KB |
Output is correct |
2 |
Correct |
1 ms |
332 KB |
Output is correct |
3 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
4 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
332 KB |
Output is correct |
2 |
Correct |
1 ms |
460 KB |
Output is correct |
3 |
Correct |
1 ms |
460 KB |
Output is correct |
4 |
Incorrect |
1 ms |
332 KB |
Output isn't correct |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
9 ms |
9416 KB |
Output is correct |
2 |
Incorrect |
11 ms |
8924 KB |
Output isn't correct |
3 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
8 ms |
9668 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
8 ms |
9164 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |