Submission #515686

#TimeUsernameProblemLanguageResultExecution timeMemory
515686mhsi2005Vlak (COCI20_vlak)C++17
70 / 70
70 ms85948 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 2e5 + 10; ll n, m, trie[maxn][30][4], nodes = 1; void add (string &s, int a) { int v = 0; for(int i = 0; i < s.size(); i++) { if (!trie[v][s[i] - 'a'][0]) trie[v][s[i] - 'a'][0] = nodes++; trie[v][s[i] - 'a'][a] = 1; v = trie[v][s[i] - 'a'][0]; } } int winner (int v, int a) { bool res = false; for (int x = 0; x < 27; x++) { if (!trie[v][x][a]) continue; if (!trie[v][x][3 - a]) res = true; else res |= (winner(trie[v][x][0], 3 - a) == a); } return (res ? a : 3 - a); } int main() { cin >> n; for (int i = 0; i < n; i++) { string s; cin >> s; add(s, 1); } cin >> m; for (int i = 0; i < m; i++) { string s; cin >> s; add(s, 2); } cout << (winner(0, 1) == 1 ? "Nina\n" : "Emilija\n"); }

Compilation message (stderr)

Main.cpp: In function 'void add(std::string&, int)':
Main.cpp:13:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i = 0; i < s.size(); i++) {
      |                    ~~^~~~~~~~~~
#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...