# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
453798 | RGBB | Vlak (COCI20_vlak) | C++14 | 17 ms | 21804 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 <iostream>
#include <bits/stdc++.h>
using namespace std;
const int MAXN=100;
const int MAXC=2*1e5+5;
int n,m;
string inp;
//0-Nina, 1-Emilija
int en;
int trie[MAXC][27];//0 to 25 letters, 26 parent
bool win[MAXC][2];
void update(string s,int id)
{
int pos=0;
for(int i=0;i<s.length();i++)
{
if(trie[pos][s[i]-'a']==-1)
{
trie[pos][s[i]-'a']=en;
trie[en++][26]=pos;
}
pos=trie[pos][s[i]-'a'];
win[pos][id]=true;
}
}
void solve(int pos)
{
for(int i=en-1;i>0;i--)
{
if(win[i][0])win[trie[i][26]][1]=false;
if(win[i][1])win[trie[i][26]][0]=false;
}
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
memset(trie,-1,sizeof(trie));
win[0][0]=true;
win[0][1]=true;
en=1;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>inp;
update(inp,0);
}
cin>>m;
for(int i=0;i<m;i++)
{
cin>>inp;
update(inp,1);
}
solve(0);
if(!win[0][1])cout<<"Nina\n";
else cout<<"Emilija\n";
}
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... |