| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 542025 | AlperenT | Vlak (COCI20_vlak) | C++17 | 30 ms | 20372 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int n, m;
string str;
struct Trie{
struct TrieNode{
char color, winner;
TrieNode* edge[26];
TrieNode(){
color = winner = '.';
fill(edge, edge + 26, nullptr);
}
};
TrieNode *root;
void add(TrieNode *&v, string &str, char c, int indx = 0){
if(!v) v = new TrieNode();
if(indx == str.size()){
if(v->color == '.') v->color = c;
else if(v->color != c) v->color = 'C';
}
else{
add(v->edge[str[indx] - 'a'], str, c, indx + 1);
}
}
void dfs(TrieNode *&v, int p){
if(!v) return;
bool issame = false;
for(int e = 0; e < 26; e++){
if(v->edge[e]){
dfs(v->edge[e], p == 'A' ? 'B' : 'A');
if((v->edge[e]->color == p || v->edge[e]->color == 'C') && v->edge[e]->winner == p) issame = true;
if(v->edge[e]->color == 'A'){
if(v->color == 'B') v->color = 'C';
else if(v->color == '.') v->color = 'A';
}
else if(v->edge[e]->color == 'B'){
if(v->color == 'A') v->color = 'C';
else if(v->color == '.') v->color = 'B';
}
else if(v->edge[e]->color == 'C'){
v->color = 'C';
}
}
}
v->winner = issame ? p : (p == 'A' ? 'B' : 'A');
}
};
Trie trie;
int main(){
ios_base::sync_with_stdio(false);cin.tie(NULL);
cin >> n;
while(n--){
cin >> str;
trie.add(trie.root, str, 'A');
}
cin >> m;
while(m--){
cin >> str;
trie.add(trie.root, str, 'B');
}
trie.dfs(trie.root, 'A');
if(trie.root->winner == 'A') cout << "Nina";
else cout << "Emilija";
}Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
