Submission #1305828

#TimeUsernameProblemLanguageResultExecution timeMemory
1305828gkbsVlak (COCI20_vlak)C++20
70 / 70
14 ms22516 KiB
#include <bits/stdc++.h> using namespace std; #define F first #define S second #define EB emplace_back #define MP make_pair #define all(o) (o).begin(), (o).end() #define mset(m,v) memset(m,v,sizeof(m)) #define fr(i,n) for(ll i=0;i<n;++i) #define endl '\n' #define pii pair<int,int> #define vi vector<int> #define vvi vector<vi> using ll = long long; using ld = long double; const int MOD = 1e9+7; const int INF = 1e9; const ld EPS = 1e-9; template <class A, class B> ostream& operator << (ostream& out, const pair<A, B> &a) { return out << "(" << a.x << ", " << a.y << ")"; } template <class A> ostream& operator << (ostream& out, const vector<A> &v) { out << "["; fr(i, sz(v)) { if(i) out << ", "; out << v[i]; } return out << "]"; } struct node{ int cnt=0; node *child[26]; node(){ for(int i=0;i<26;i++)child[i]=NULL; } }; struct trie{ node *t; trie(){t=new node;} void insert(string s){ node *curr = t; for(int i=0;i<s.length();i++){ curr->cnt++; int x=s[i]-'a'; if(curr->child[x]==NULL)curr->child[x]=new node; curr = curr->child[x]; } curr->cnt++; } }; bool query(node *curr1,node *curr2){ bool ans=true; for(int i=0;i<26;i++){ if(curr1->child[i]){ if(curr2->child[i]==NULL)return true; else{ ans = ans && query(curr2->child[i],curr1->child[i]); } } } return !ans; } void solve(){ int n,m;cin>>n; trie tn,te; for(int i=0;i<n;i++){ string s;cin>>s; tn.insert(s); } cin>>m; for(int i=0;i<m;i++){ string s;cin>>s; te.insert(s); } bool win = query(tn.t,te.t); if(win)cout<<"Nina"<<endl; else cout<<"Emilija"<<endl; } int main() { cin.tie(0);cin.sync_with_stdio(0); cout.tie(0);cout.sync_with_stdio(0); int t = 1; // cin >> t; while (t--)solve(); return 0; }
#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...