제출 #1189930

#제출 시각아이디문제언어결과실행 시간메모리
1189930MatteoArcari늑대인간 (IOI18_werewolf)C++20
0 / 100
4086 ms22432 KiB
#include "werewolf.h"
#include <bits/stdc++.h>
using namespace std;
using vi = vector<int>;

vi check_validity(int n, vi x, vi y, vi s, vi e, vi l, vi r) {
    int q = s.size();
    int m = x.size();
    vector<vi> adj(n);
    for (int i = 0; i < m; i++) {
        adj[x[i]].push_back(y[i]);
        adj[y[i]].push_back(x[i]);
    }

    vi ans(q);

    for (int i = 0; i < q; i++) {
        vector<bool> vis(n);
        queue<int> qu;
        for (int j = l[i]; j <= r[i]; j++) {
            vis[j] = 1;
            qu.push(j);
        }   
        while (!qu.empty()) {
            int j = qu.front();
            qu.pop();
            for (int k: adj[j]) {
                if (k < l[i] && j > r[i]) continue;
                if (j < l[i] && k > r[i]) continue;
                if (vis[k]) continue;
                vis[k] = 1;
                qu.push(k); 
            }
        }
        if (vis[s[i]] && vis[e[i]]) ans[i] = 1;
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...