Submission #7761

#TimeUsernameProblemLanguageResultExecution timeMemory
7761studenttest간선 파괴 (GA5_destroy)C++98
25 / 100
2500 ms2672 KiB
#include<stdio.h> #include<vector> using namespace std; //for 60point code; struct line{ line(){} line(int en,int c):en(en),c(c){} int en,c; }; vector <line> edge[550]; int V,E,r,l,q,wr,re,Q[550]; int check[550]; void BFS(int x) { Q[0]=x;wr=1;re=0;check[x]=q+1; while(wr!=re){ int i,sz=edge[Q[re]].size(); for(i=0;i<sz;i++){ line tx=edge[Q[re]][i]; if(check[tx.en]==q+1 || (tx.c>=l&&tx.c<=r))continue; Q[wr++]=tx.en; check[tx.en]=q+1; } re++; } } void solve() { int i,ret=0; for(i=1;i<=V;i++){ if(check[i]!=q+1){ret++;BFS(i);} } printf("%d\n",ret); } int main() { scanf("%d%d",&V,&E); int i; for(i=1;i<=E;i++){ int x,y; scanf("%d%d",&x,&y); edge[x].push_back(line(y,i)); edge[y].push_back(line(x,i)); } scanf("%d",&q); while(q--){ scanf("%d%d",&l,&r); solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...