제출 #974318

#제출 시각아이디문제언어결과실행 시간메모리
974318PieArmyVlak (COCI20_vlak)C++17
70 / 70
8 ms9564 KiB
#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...