Submission #726661

#TimeUsernameProblemLanguageResultExecution timeMemory
726661JohannJoker (BOI20_joker)C++14
14 / 100
2055 ms11676 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<pii> vpii; typedef vector<vpii> vvpii; int N, M, Q; vvpii adj; vpii E; bool possible_bfs(int l, int r) { vi color(N, -1); queue<int> q; for (int v = 0; v < N; ++v) { if (color[v] != -1) continue; q.push(v), color[v] = 0; while (!q.empty()) { int u = q.front(); q.pop(); for (pii e : adj[u]) { if (e.second < l || e.second > r) { if (color[e.first] == color[u]) return true; if (color[e.first] == -1) { q.push(e.first); color[e.first] = !color[u]; } } } } } return false; } int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> N >> M >> Q; adj.resize(N); E.resize(M); for (int i = 0, a, b; i < M; ++i) { cin >> a >> b; --a, --b; adj[a].push_back({b, i}), adj[b].push_back({a, i}); E[i] = {min(a, b), max(a, b)}; } for (int i = 0, l, r; i < Q; ++i) { cin >> l >> r; --l, --r; // [l, r] inclusive is blocked if (possible_bfs(l, r)) cout << "YES\n"; else cout << "NO\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...