Submission #1263200

#TimeUsernameProblemLanguageResultExecution timeMemory
1263200MegalosaurusVlak (COCI20_vlak)C++20
70 / 70
18 ms21064 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define fastio ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); const int N = 2e5+5; int trie[N][26], cc[N][2]; int dp[N]; int cnt = 1; void insert(string s, int type) { int node = 0; cc[node][type]++; for(auto it:s) { if(trie[node][it-'a'] == 0) trie[node][it-'a'] = cnt++; cc[node][type]++; node = trie[node][it-'a']; } } int solve(int node, int l) { auto &ret = dp[node]; if(cc[node][l] == 0) { return 0; } ret = 0; for(int i = 0; i < 26; i++) { int x = trie[node][i]; if(x != 0) { ret |= (solve(x, l^1) == 0); } } return ret; } signed main() { int n, m; cin >> n; string s; for(int i = 0; i < n; i++) { cin >>s; insert(s, 0); } cin >> n; for(int i = 0; i < n; i++) { cin >>s; insert(s, 1); } cout << (solve(0, 0)==1?"Nina":"Emilija"); 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...