Submission #725064

#TimeUsernameProblemLanguageResultExecution timeMemory
725064TsiannisVlak (COCI20_vlak)C++17
70 / 70
54 ms88160 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define INF 100000000007 #define maxn 200005 #define maxm 28 ll T1[maxn][maxm]; ll T2[maxn][maxm]; bool solve(ll nodeN, ll nodeE, bool turn){ if (turn==1&&nodeE==-1) return 0; if (turn==0&&nodeN==-1) return 0; if (!turn){ bool maxi=0; for (char i='a';i<='z';i++){ if (T1[nodeN][i-'a']!=-1){ maxi=max(maxi,!solve(T1[nodeN][i-'a'],T2[nodeE][i-'a'],1)); } } return maxi; } else{ bool maxi=0; for (char i='a';i<='z';i++){ if (T2[nodeE][i-'a']!=-1){ maxi=max(maxi,!solve(T1[nodeN][i-'a'],T2[nodeE][i-'a'],0)); } } return maxi; } } int main() { memset(T1,-1,sizeof(T1)); memset(T2,-1,sizeof(T2)); ll n; cin>>n; ll next=1; while(n--){ string s; cin>>s; ll i=0,v=0; while(i<s.size()){ if (T1[v][s[i]-'a']==-1){ T1[v][s[i]-'a']=next; v=next; next++; } else { v=T1[v][s[i]-'a']; } ++i; } } next=1; cin>>n; while(n--){ string s; cin>>s; ll i=0,v=0; while(i<s.size()){ if (T2[v][s[i]-'a']==-1){ T2[v][s[i]-'a']=next; v=next; next++; } else { v=T2[v][s[i]-'a']; } ++i; } } bool ans=solve(0,0,0); if (ans) cout<<"Nina"<<endl; else cout<<"Emilija"<<endl; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:42:24: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |                 while(i<s.size()){
      |                       ~^~~~~~~~~
Main.cpp:59:24: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |                 while(i<s.size()){
      |                       ~^~~~~~~~~
#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...