Submission #974321

#TimeUsernameProblemLanguageResultExecution timeMemory
974321PieArmyVlak (COCI20_vlak)C++17
70 / 70
9 ms9564 KiB
#pragma GCC optimize("O3,fast-math,unroll-all-loops") #include <bits/stdc++.h> using namespace std; int trie[200001][26]; bitset<200001>var[2]; int las=1; void ekle(string word,bool player){ int pos=0; for(char c:word){ if(!trie[pos][c-'a']){ trie[pos][c-'a']=las++; } pos=trie[pos][c-'a']; var[player][pos]=true; } } bool dfs(int pos,bool sira){ if(pos&&!var[sira][pos])return !sira; for(int i=0;i<26;i++){ if(!trie[pos][i])continue; if(!var[sira][trie[pos][i]])continue; if(dfs(trie[pos][i],sira^1)==sira)return sira; } return !sira; } int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL); int n;cin>>n; for(int i=0;i<n;i++){ string s;cin>>s; ekle(s,0); } cin>>n; for(int i=0;i<n;i++){ string s;cin>>s; ekle(s,1); } if(dfs(0,0))cout<<"Emilija"; else cout<<"Nina"; }
#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...