This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
#define fast_io ios::sync_with_stdio(0), cin.tie(0)
#define vi vector<int>
const int N = 2e5+7, K = 26;
int adj[2][N][K], ctr[2];
void add(string& s, int d) {
int x = 0;
for(char ch: s) {
int c = ch-'a', y = adj[d][x][c];
if(!y) adj[d][x][c] = ++ctr[d];
x = adj[d][x][c];
}
}
int dfs(int p, int q, int d) {
int w = 0;
for(int j = 0; j < K; j++) {
int x = adj[0][p][j], y = adj[1][q][j];
if(!x) x = N-1;
if(!y) y = N-1;
if(d == 0 && x == N-1) continue;
if(d == 1 && y == N-1) continue;
w |= dfs(x, y, d^1)^1;
}
return w;
}
int main() {
fast_io;
int n; string s;
for(int k = 0; k < 2; k++) {
cin >> n;
for(int i = 0; i < n; i++) {
cin >> s;
add(s, k);
}
}
int ret = dfs(0, 0, 0);
cout << (ret? "Nina": "Emilija") << "\n";
}
# | 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... |