Submission #1185967

#TimeUsernameProblemLanguageResultExecution timeMemory
1185967NoboritaVlak (COCI20_vlak)C++20
70 / 70
12 ms22340 KiB
#include <bits/stdc++.h> using namespace std; #define LOCAL #define L(i, j, n) for (int i = (j); i < (int)n; i ++) #define LI(i, j, n) for (int i = (j); i <= (int)n; i ++) #define R(i, j, n) for (int i = (j); i > (int)n; i --) #define RI(i, j, n) for (int i = (j); i >= (int)n; i --) #define SZ(x) int((x).size()) #define ALL(x) begin(x),end(x) #define IS_IN(x, v) ((x).find(v) != (x).end()) #define vec vector #define pb push_back using ll = long long; using ld = long double; using pii = pair<int, int>; using pil = pair<int, ll>; using pli = pair<ll, int>; using pll = pair<ll, ll>; const int N = (int)2e5+5; const int MOD = (int)1e9 + 7; const int oo = (int)1e9; struct trie { trie * ch[26]; bool eee; bool hc; trie(){ eee=0; hc=0; L(i,0,26){ ch[i]=0; } } void insert(string &s, int i){ if (i == SZ(s)){ eee=1; return; } int id=s[i]-'a'; if(ch[id]==0)ch[id]=new trie; hc = hc || ((SZ(s) - 1) > i); // cout << s[i] << " " << hc << "\n"; ch[id]->insert(s, i + 1); } } *nina, *emi; bool go(trie * n, trie * e, bool t = 0){ if (t == 0){ if (n == 0) return false; // if (!n->hc) return false; L(id,0,26) if (n->ch[id] != 0){ // cout << "NT: " << char('a'+id) << "\n"; if (!go(n->ch[id], e->ch[id], !t)){ // cout <<"N: " << char('a'+id) << "\n"; return true; }; } return false; } else { if (e == 0) return false; // if (!e->hc) return false; L(id,0,26) if (e->ch[id] != 0){ // cout <<"ET: " << char('a'+id) << "\n"; if (!go(n->ch[id], e->ch[id], !t)){ return true; }; } return false; } } void solve() { int n; cin >> n; int m; nina = new trie; L(i,0,n) { string s; cin >> s; nina->insert(s, 0); } cin >> m; emi = new trie; L(i,0,m){ string s; cin >> s; emi->insert(s, 0); } bool r = go(nina, emi, 0); cout << (r ? "Nina":"Emilija") << "\n"; } int main() { ios::sync_with_stdio(0);cin.tie(0); int TT = 1; //cin >> TT; while (TT--) { solve(); } }
#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...