#include<bits/stdc++.h>
using namespace std;
#define int long long
vector<string>v[2];
int n,m;
bool f(string s,bool k){ // 0-Nina, 1-Emilija
auto lf=lower_bound(v[k].begin(),v[k].end(),s);
auto rg=v[k].end();
if(s.size()) rg=lower_bound(v[k].begin(),v[k].end(),s.substr(0,(int)s.size()-1)+(char)(int)(s[(int)s.size()-1]+1));
bool res=k^1;
for(auto it=lf;it<rg;++it){
if((int)(*it).size()<=(int)s.size()) continue;
string nx=s+(*it)[(int)s.size()];
res=(f(nx,k^1)==k?k:res);
}
//cout<<s<<" "<<k<<" -> "<<res<<'\n';
return res;
}
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin>>n;
v[0].resize(n); for(auto&x:v[0]) cin>>x;
sort(v[0].begin(),v[0].end());
cin>>m;
v[1].resize(m); for(auto&x:v[1]) cin>>x;
sort(v[1].begin(),v[1].end());
cout<<(f("",0)?"Emilija\n":"Nina\n");
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... |