Submission #1162143

#TimeUsernameProblemLanguageResultExecution timeMemory
1162143alorivaldoVlak (COCI20_vlak)C++20
0 / 70
1 ms840 KiB
#include <bits/stdc++.h>

using namespace std;
 
typedef long long ll;

#define br '\n'

const int mx = 2e5+5;
int trie[mx][26];

void add(string& s, int val){
  int n = s.size();
  for (int i = 0; i < n; i++){
    trie[i][s[i]-'a'] += val;
  }
}

// check emilija victory
bool check(string& s){
  int n = s.size();
  for (int i = 0; i < n; i++){
    if (trie[i][s[i]-'a'] == 3){
      for (int j = 0; j < 26; j++){
        if (trie[i+1][j] == 2) return true;
      }
    }
  }
  return false;
}

int main()
{
  ios::sync_with_stdio(false);
  cin.tie(NULL);

  vector<string> N;
  string s;
  int n,m;
  cin>>n;
  for (int i = 0; i < n; i++){
    cin>>s;
    N.push_back(s);
    add(s,1);
  }
  cin>>m;
  for (int i = 0; i < m; i++){
    cin>>s;
    add(s,2);
  }

  bool emilija = true;
  for (string str: N){
    emilija = emilija && check(str);
  }
  cout << (emilija ? "Emilija" : "Nina") << br;


  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...