답안 #520116

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
520116 2022-01-28T12:35:20 Z AkiYuu Vlak (COCI20_vlak) C++17
0 / 70
9 ms 9660 KB

/*

Problems:
Author: AkiYuu

*/

#include <bits/stdc++.h>
#define task "GROUP"
#define ll long long
#define ld long double
#define pb(u) emplace_back(u)
#define ffw(i,a,b) for (ll i = a; i <= b; i++)
#define fbw(i,b,a) for (ll i = b; i >= a; i--)
#define adj(v,adj,u) for (auto v : adj[u])
#define rep(i,a) for (auto i : a)
#define reset(a) memset(a, 0, sizeof(a))
#define sz(a) a.size()
#define all(a) a.begin(),a.end()

using namespace std;

void fastio(){
	ios_base::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
//	freopen(task".inp", "r", stdin);
//	freopen(task".out", "w", stdout);
}

const int mxn = 1e6 + 5;
typedef pair<ll, ll> ii;
int trie[200005][26], dem = 0;
int can[2000005 * 26];
int n, m;
bool winner[2000005 * 26];
void add(string s, int col){
    int node = 0;
    for (char c : s){
        int x = c - 'a';
        if (trie[node][x] == 0) {
            trie[node][x] = ++dem;
        }
        can[dem] |= ( 1 << col );
        node = trie[node][x];
    }
}

void dfs(int u, int player){

    winner[u] = 1;
    bool temp = 0;
    ffw(i,0,25){
        if ( trie[u][i] == 0) continue;
        if ( can[trie[u][i] ] & ( 1 << player ) ){
            dfs(trie[u][i], player ^ 1);
            winner[u] &= (winner[ trie[u][i] ] ^ 1);
        }
    }
}

string ans[2] = {"Nina", "Emilija"};

void solve(){
    cin >> n;
    ffw(i,1,n){
        string s;
        cin >> s;
        add(s,0);
    }
    cin >> m;
    ffw(i,1,m){
        string s;
        cin >> s;
        add(s,1);
    }
    dfs(0,0);
    cout << ans[winner[0] ]<< '\n';
}

int main(){
	fastio();
	int t = 1;
//	cin >> t;
	while (t--)
	solve();
}

Compilation message

Main.cpp: In function 'void dfs(int, int)':
Main.cpp:53:10: warning: unused variable 'temp' [-Wunused-variable]
   53 |     bool temp = 0;
      |          ^~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 460 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 460 KB Output is correct
2 Correct 1 ms 460 KB Output is correct
3 Correct 1 ms 460 KB Output is correct
4 Incorrect 0 ms 332 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 1 ms 308 KB Output is correct
3 Incorrect 1 ms 316 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 0 ms 332 KB Output is correct
3 Correct 1 ms 316 KB Output is correct
4 Incorrect 1 ms 320 KB Output isn't correct
5 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 9 ms 9420 KB Output is correct
2 Incorrect 9 ms 8908 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 9 ms 9660 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 9 ms 9236 KB Output isn't correct
2 Halted 0 ms 0 KB -