제출 #1154042

#제출 시각아이디문제언어결과실행 시간메모리
1154042dzuizzVlak (COCI20_vlak)C++20
60 / 70
35 ms18760 KiB
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j;
string s,r;
struct node{
  node* v[26];
  bool k;
  node(bool _k): k(_k) {}
  void add(string s){
    if(!s.size()) return;
    if(!v[s[0]-'a'])
      v[s[0]-'a']=new node(k^1);
    v[s[0]-'a']->add(s.substr(1,(int)s.size()-1));
  }
  bool qry(){
    for(auto&nx:v){
      if(!nx) continue;
      if(nx->qry()==k^1) return k^1;
    }
    return k;
  }
} *root;
signed main(){
  ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  cin>>n;
  root=new node(1);
  for(i=0;i<n;++i){
    cin>>s;
    for(j=0,r="";j<(int)s.size();++j){
      r+=s[j];
      if(j&1^1) root->add(r);
    }
  }
  cin>>m;
  for(i=0;i<m;++i){
    cin>>s;
    for(j=0,r="";j<(int)s.size();++j){
      r+=s[j];
      if(j&1) root->add(r);
    }
  }
  cout<<(root->qry()?"Emilija\n":"Nina\n");
  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...