Submission #798982

#TimeUsernameProblemLanguageResultExecution timeMemory
798982yeediotVlak (COCI20_vlak)C++14
70 / 70
20 ms20992 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define F first #define S second #define all(x) x.begin(),x.end() #define pii pair<int,int> #define pb push_back #define sz(x) (int)(x.size()) #define chmin(x,y) x=min(x,y) #define chmax(x,y) x=max(x,y) #define vi vector<int> #define vp vector<pii> #define vvi vector<vi> const int mxn=2e5+5; int trie[2][mxn][26]; int nxt=1; vector<string>s,ss; int n,m; void add(string s,int type){ int i=0,v=0; while(i<sz(s)){ //cout<<v<<' '; if(trie[type][v][s[i]-'a']){ v=trie[type][v][s[i++]-'a']; } else{ v=trie[type][v][s[i++]-'a']=nxt++; } }//cout<<v<<'\n'; } bool calc(int now,int turn,int v1,int v2){ for(int i=0;i<26;i++){ int a=trie[0][v1][i]; int b=trie[1][v2][i]; if(turn==0){ if(a and !b)return 0; if(a and b and !calc(i,1,a,b))return 0; } else{ if(!a and b)return 1; if(a and b and calc(i,0,a,b))return 1; } } return 1-turn; } signed main(){ ios::sync_with_stdio(0); cin.tie(0);cout.tie(0); cin>>n; for(int i=0;i<n;i++){ string temp; cin>>temp; add(temp,0); } cin>>m; nxt=1; for(int i=0;i<m;i++){ string temp; cin>>temp; add(temp,1); } cout<<(calc(0,0,0,0)==0?"Nina":"Emilija")<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...