Submission #5902

#TimeUsernameProblemLanguageResultExecution timeMemory
5902baneling100간선 파괴 (GA5_destroy)C++98
25 / 100
2500 ms2708 KiB
#include <stdio.h> #include <algorithm> #include <vector> #include <queue> using namespace std; typedef pair <int,int> ppair; vector <ppair> A[701]; queue <int> q; int V, E, Q, Check[701], L, R, X; void input(void) { int i, u, v; scanf("%d %d",&V,&E); for(i=1 ; i<=E ; i++) { scanf("%d %d",&u,&v); A[u].push_back(make_pair(v,i)); A[v].push_back(make_pair(u,i)); } scanf("%d",&Q); } void BFS(int start) { int i, j, now; Check[start]=X; q.push(start); while(!q.empty()) { now=q.front(); q.pop(); j=A[now].size(); for(i=0 ; i<j ; i++) if(!(L<=A[now][i].second && A[now][i].second<=R) && Check[A[now][i].first]!=X) { Check[A[now][i].first]=X; q.push(A[now][i].first); } } } void process(void) { int i, j, cnt; for(i=1 ; i<=Q ; i++) { X=i; cnt=0; scanf("%d %d",&L,&R); for(j=1 ; j<=V ; j++) if(Check[j]!=X) { cnt++; BFS(j); } printf("%d\n",cnt); } } int main(void) { input(); process(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...