이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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 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... |