제출 #1299977

#제출 시각아이디문제언어결과실행 시간메모리
1299977jai_bansal_007Vlak (COCI20_vlak)C++20
30 / 70
8 ms10824 KiB
/*
*    Author:Jai
*    Created:Sunday, 07.12.2025 04:08 PM (GMT+5:30)
*/
#include<bits/stdc++.h>

#ifdef JAI
#include "algo/debug.cpp"
#else
#define debug(...)
#endif
 
using namespace std;
#define help ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long 
#define all(v) v.begin(), v.end()

#define peace
const int tt=0;
int MOD=1e9+7;
// i have to code a fucking trie
//how can i do that??
int trie[2000000][26];
int node_count=0;
bool stop[2000000];

void insert(string str){
    //i have to insert a string into my trie
    int node=0;
    for(int i=0;i<str.length();i++){

        if(trie[node][str[i]-'a']==0){
            trie[node][str[i]-'a']=++node_count;
        }
        node=trie[node][str[i]-'a'];
    }
    stop[node]=true;
}

bool check(string str){
    int node=0;
    int move=0;
    for(int i=0;i<str.length();i++){

        if(move%2==0){
            if(trie[node][str[i]-'a']==0){
                return true;
            }
        }else{
            for(int j=0;j<26;j++){
                if((trie[node][j]!=0)&&(str[i]-'a'!=j)){
                    return false;
                }
            }
            if(trie[node][str[i]-'a']==0){
                return true;
            }
        }
        move++;
        node=trie[node][str[i]-'a'];
    }
    if(str.length()%2==0){
        return false;
    }
    for(int j=0;j<26;j++){
        if(trie[node][j]!=0){
            return false;
        }
    }
    return true;
}

void solve(int tc){
    int n;cin>>n;
    vector<string> arr(n);
    for(int i=0;i<n;i++){
        cin>>arr[i];
    }
    int m;cin>>m;
    for(int i=0;i<m;i++){
        string str;cin>>str;
        insert(str);
    }
    for(int i=0;i<n;i++){
        if(check(arr[i])){
            // debug(i);
            cout<<"Nina"<<endl;
            return;
        }
    }
    cout<<"Emilija"<<endl;













}


signed main() {
    #if defined(JAI) && defined(peace)
        freopen("input.txt", "r", stdin);  
        freopen("output.txt", "w", stdout); 
        clock_t T = clock();
    #endif

    help;
    int t=1;
    if(tt){
        cin>>t;
    }
    for(int i=1;i<=t;i++){
        solve(i);
    }

    #if defined(JAI) && defined(peace)
        cout << "\nTime : " << ((float)(clock() - T)*1000) / CLOCKS_PER_SEC << " ms";
    #endif

    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...