#include <bits/stdc++.h>
using namespace std;
#define int long long
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int N,M,Q;
cin >> N >> M >> Q;
vector<vector<pair<int,int>>> adj(N+1);
for(int i=1;i<=M;i++){
int u,v;
cin >> u >> v;
adj[u].emplace_back(v,i);
adj[v].emplace_back(u,i);
}
for(int i=1;i<=Q;i++){
int l,r;cin>>l>>r;
vector<int> depth(N+1,-1);
bool works = true;
auto dfs = [&](auto&& self,int x,int dep)->void{
depth[x]=dep;
for(auto&[i,idx]:adj[x]){
if(l<=idx and idx<=r)continue;
if(depth[i]==-1){
self(self,i,dep+1);
} else {
if((dep-depth[i])%2==0)works=false;
}
}
};
for(int i=1;i<=N;i++)if(depth[i]==-1)dfs(dfs,i,1);
if(works)cout<<"NO\n";
else cout<<"YES\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... |