# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
391800 | ahmet | Vlak (COCI20_vlak) | C++14 | 17 ms | 21660 KiB |
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 <bits/stdc++.h>
using namespace std;
#define zaman cout<<endl<<fixed<<setprecision(2)<<1000.0 * clock() / CLOCKS_PER_SEC<< " milliseconds "
#define rep(i,n) for(long long (i)=0;(i)<(n);++(i))
#define ref(i,a,b) for (long long (i)=(a); (i)<=(b); ++(i))
#define endl '\n'
#define ll long long
#define pb push_back
#define pii pair<ll,ll>
#define mp make_pair
const int mx=2e5+6;
const string ans[]={"Nina","Emilija"};
struct node{
int edge[26];
int last=-1;//0-Nina 1-Emilija
}trie[mx];
int no=1;
void trieAdd(string s,int res){// -1-Nothing 0-Nina 1-Emilija 2-both
int curr=1;
for(int i=0;i<s.size();++i){
int ch=s[i]-'a';
if(trie[curr].edge[ch]==0)
trie[curr].edge[ch]=++no;
curr=trie[curr].edge[ch];
}
if(trie[curr].last>-1 and trie[curr].last!=res)trie[curr].last=2;
else trie[curr].last=res;
}
int solve(int node,int x){// x:0 Nina x:1 Emilija x:2 Both
for(int i=0;i<26;++i){
if(trie[node].edge[i]==0)continue;
int res=solve(trie[node].edge[i],1-x);
if(res==2)return x;
if(res==x)return x;
}
if(trie[node].last==2)return 1-x;
if(trie[node].last>-1)return trie[node].last;
return 1-x;
}
int main(){
ios_base::sync_with_stdio(0);cin.tie(0);
int x,y;cin >> x;
rep(i,x){
string s;cin >> s;
trieAdd(s,0);
}
cin >> y;
rep(i,y){
string s;cin >> s;
trieAdd(s,1);
}
cout << ans[solve(1,0)] << endl;
}
Compilation message (stderr)
# | 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... |