Submission #1254293

#TimeUsernameProblemLanguageResultExecution timeMemory
1254293luis_aqmVlak (COCI20_vlak)C++20
70 / 70
19 ms14796 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define tt tuple<int,int,int>
#define NMAX 100005
#define MOD 1000000007
#define faster ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);

struct node {
    map<int, int> next;
    int id, sz, marc[2];
    
    node(){
        id = -1;
        next.clear();
        sz = marc[0] = marc[1] = 0;
    }
};

vector<node> tri = {node()};
string resp;

int new_node() {
    tri.push_back(node());
    return tri.size()-1;
}

void insere(string &s, int i, bool player) {
    int k = 0;

    for(int j = 0; j < s.size(); j++) {
        if(!tri[k].next.count(s[j])) {
            tri[k].next[s[j]] = new_node();
        }
        k = tri[k].next[s[j]];
        tri[k].marc[player] = 1;
        tri[k].sz = j+1;
    }
    tri[k].id = i;
}

int32_t main() { faster
    int n;
    cin>>n;

    for(int i = 1; i <= n; i++) {
        string s;
        cin>>s;

        insere(s, i, 0);
    }

    int m;
    cin>>m;

    for(int i = 1; i <= m; i++) {
        string s;
        cin>>s;

        insere(s, i, 1);
    }

    vector<int> dp(tri.size(), 0);

    for(int i = tri.size()-1; i >= 0; i--) {
        if(tri[i].next.empty()) 
            continue;

        bool player = tri[i].sz & 1;
        for(auto [c, it] : tri[i].next) {
            if(!tri[it].marc[player]) continue;

            if(!dp[it]) dp[i] = 1;
        }
    }

    if(dp[0]) cout<<"Nina\n";
    else cout<<"Emilija\n";
}
/*

*/
#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...