Submission #1037298

#TimeUsernameProblemLanguageResultExecution timeMemory
1037298woodJoker (BOI20_joker)C++17
0 / 100
2063 ms7760 KiB
#include <bits/stdc++.h> using namespace std; typedef vector<int> vi; typedef pair<int,int> p32; typedef vector<p32> vp32; #define pb push_back #define eb emplace_back #define fi first #define se second int main(){ int n,m,q; cin>>n>>m>>q; vp32 adj[n]; for(int i = 0; i<m; i++){ int a,b; cin>>a>>b; a--; b--; adj[a].eb(b,i+1); adj[b].eb(a,i+1); } for(int j = 0; j<q; j++){ int l,r; cin>>l>>r; int parent[n]; memset(parent,0,sizeof parent); stack<int> qu; for(int i = 0; i<n; i++){ if(!parent[i]){ parent[i] = 1e6; qu.push(i); while(!qu.empty()){ int x = qu.top(); qu.pop(); for(p32 tt : adj[x]){ if(tt.se<l||tt.se>r){ if(parent[tt.fi]&&parent[x]-1!=tt.fi) goto found; if(parent[tt.fi]==0){ parent[tt.fi] = x+1; qu.push(tt.fi); } } } } } } cout<<"NO\n"; continue; found: cout<<"YES\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...