제출 #1275450

#제출 시각아이디문제언어결과실행 시간메모리
1275450papauloVlak (COCI20_vlak)C++20
70 / 70
20 ms23048 KiB
#include <bits/stdc++.h> using namespace std; #define MAXI 200200 int trie[MAXI][26]; int par[MAXI]; int has[MAXI][2]; int dp[MAXI]; int id=0; void insert(string s, int i) { int n=0; for(char c : s) { int &t=trie[n][c-'a']; if(!t) { t=++id; par[t]=par[n]^1; } n=t; has[n][i]=1; } } int main() { memset(trie, 0, sizeof(trie)); memset(dp, 0, sizeof(dp)); memset(par, 0, sizeof(par)); cin.tie(nullptr); ios::sync_with_stdio(false); int n; cin >> n; while(n--) { string s; cin >> s; insert(s, 0); } int m; cin >> m; while(m--) { string s; cin >> s; insert(s, 1); } for(int i=id;i>=0;i--) { int j=par[i]; for(int k=0;k<26;k++) { int t=trie[i][k]; if(t&&has[t][j]&&!dp[t]) { dp[i]=1; break; } } } 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...