#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define EB emplace_back
#define MP make_pair
#define all(o) (o).begin(), (o).end()
#define mset(m,v) memset(m,v,sizeof(m))
#define fr(i,n) for(ll i=0;i<n;++i)
#define endl '\n'
#define pii pair<int,int>
#define vi vector<int>
#define vvi vector<vi>
using ll = long long;
using ld = long double;
const int MOD = 1e9+7;
const int INF = 1e9;
const ld EPS = 1e-9;
template <class A, class B> ostream& operator << (ostream& out, const pair<A, B> &a) {
return out << "(" << a.x << ", " << a.y << ")";
}
template <class A> ostream& operator << (ostream& out, const vector<A> &v) {
out << "[";
fr(i, sz(v)) {
if(i) out << ", ";
out << v[i];
}
return out << "]";
}
struct node{
int cnt=0;
node *child[26];
node(){
for(int i=0;i<26;i++)child[i]=NULL;
}
};
struct trie{
node *t;
trie(){t=new node;}
void insert(string s){
node *curr = t;
for(int i=0;i<s.length();i++){
curr->cnt++;
int x=s[i]-'a';
if(curr->child[x]==NULL)curr->child[x]=new node;
curr = curr->child[x];
}
curr->cnt++;
}
};
bool query(node *curr1,node *curr2){
bool ans=true;
for(int i=0;i<26;i++){
if(curr1->child[i]){
if(curr2->child[i]==NULL)return true;
else{
ans = ans && query(curr2->child[i],curr1->child[i]);
}
}
}
return !ans;
}
void solve(){
int n,m;cin>>n;
trie tn,te;
for(int i=0;i<n;i++){
string s;cin>>s;
tn.insert(s);
}
cin>>m;
for(int i=0;i<m;i++){
string s;cin>>s;
te.insert(s);
}
bool win = query(tn.t,te.t);
if(win)cout<<"Nina"<<endl;
else cout<<"Emilija"<<endl;
}
int main()
{
cin.tie(0);cin.sync_with_stdio(0);
cout.tie(0);cout.sync_with_stdio(0);
int t = 1;
// cin >> t;
while (t--)solve();
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... |