Submission #498427

#TimeUsernameProblemLanguageResultExecution timeMemory
498427Fake4FunVlak (COCI20_vlak)C++14
70 / 70
20 ms9632 KiB
#include<iostream> using namespace std; const int MAX=2e5+5; int n,m; int id,nex[26][MAX]; short val[MAX]; void add(string s,int x){ int c=0; for(auto i:s){ int z=i-'a'; if(!nex[z][c]) nex[z][c]=++id; c=nex[z][c]; val[c]|=x; } } #define BIT(x,i) (x>>i&1) bool DFS(int node,bool x){ bool Fin=0; for(int i=0;i<26;i++) if(nex[i][node]){ int z=nex[i][node]; if(!BIT(val[z],x)) continue; if(!BIT(val[z],!x)) return 1; else if(!DFS(z,!x)){Fin=1; break;} } return Fin; } int main(){ string s; cin>>n; for(int i=1;i<=n;i++) cin>>s, add(s,1); cin>>m; for(int i=1;i<=m;i++) cin>>s, add(s,2); cout<<(DFS(0,0)?"Nina":"Emilija"); return 0; }
#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...