#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, m, q;
cin >> n >> m >> q;
vector<pair<int, int>> edges(m+1);
for (int i = 1; i <= m; i++)
cin >> edges[i].first >> edges[i].second;
for (int i = 0; i < q; i++)
{
int l, r;
cin >> l >> r;
vector<vector<int>> g(n+1);
for (int j = 1; j <= m; j++)
{
if (l <= j && j <= r)
continue;
auto[u, v] = edges[j];
g[u].push_back(v);
g[v].push_back(u);
}
bool ok = false;
vector<bool> vis(n+1);
vector<bool> col(n+1);
function<void(int, bool)> dfs = [&](int u, bool color) -> void
{
col[u] = color;
vis[u] = true;
for (auto v : g[u])
{
if (vis[v] && col[v] == color)
ok = true;
if (!vis[v])
dfs(v, !color);
}
};
for (int i = 1; i <= n; i++)
if (!vis[i])
dfs(i, true);
cout << (ok ? "YES" : "NO") << '\n';
}
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |