Submission #1180063

#TimeUsernameProblemLanguageResultExecution timeMemory
1180063sasdeVlak (COCI20_vlak)C++20
0 / 70
18 ms19272 KiB
#include<bits/stdc++.h> using namespace std; const int C = 26; struct Trie{ struct Node{ Node* child[C]; bool Nina, Emil; Node(): Nina(false), Emil(false){ for(int i = 0; i < C; i++){ child[i] = nullptr; } } }; typedef Node* pNode; pNode root; Trie(){ root = new Node(); } void addStr(const string& s, bool who){ pNode cur = root; for(char c : s){ int v = c - 'a'; if(cur->child[v] == nullptr){ cur->child[v] = new Node(); } cur = cur->child[v]; } if(!who){ cur->Nina = true; } else cur->Emil = true; return; } int tinDFS = 0; void check(pNode x){ int curDFS; bool Nina = false, Emil = false; for(int i = 0; i < C; i++){ if(x->child[i] != nullptr){ pNode v = x->child[i]; check(v); Nina = Nina | v->Nina; Emil = Emil | v->Emil; } } // choose who will win if(Nina) x->Nina = true, x->Emil = false; else if(Emil) x->Emil = true, x->Nina = false; } string Winner(){ check(root); if(root->Nina == 1) return "Nina"; return "Emilija"; } }; void solve() { int n; cin >> n; Trie trie; for(int i = 1; i <= n; i++){ string s; cin >> s; trie.addStr(s, 0); } int m; cin >> m; for(int i = 1; i <= m; i++){ string s; cin >> s; trie.addStr(s, 1); } cout << trie.Winner() << "\n"; } int32_t main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define name "InvMOD" if(fopen(name".INP", "r")){ freopen(name".INP", "r", stdin); freopen(name".OUT", "w", stdout); } solve(); return 0; }

Compilation message (stderr)

Main.cpp: In function 'int32_t main()':
Main.cpp:95:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   95 |         freopen(name".INP", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:96:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   96 |         freopen(name".OUT", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#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...