이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<stdio.h>
#include<memory.h>
#include<stdlib.h>
int n, m, xy[702][702];
int cnt;
int bfs(int l, int e)
{
int q[702], check[702], f, r, num;
int i ,j;
int c=0;
memset(check,0,sizeof(check));
for(i=1 ; i<=n ; i++)
{
if(check[i]==0)
{
c++;
f=0;
r=1;
q[r]=i;
check[i]=1;
do
{
f++;
num=q[f];
for(j=1 ; j<=n ; j++)
{
if((xy[num][j]!=0 && xy[num][j]<l && check[j]==0) || (xy[num][j]!=0 && xy[num][j]>e && check[j]==0))
{
r++;
q[r]=j;
check[j]=1;
}
}
}while(f<r);
}
}
return c;
}
int main()
{
int a, b, i, que;
int max;
scanf("%d %d",&n,&m);
for(i=1 ; i<=m ; i++)
{
scanf("%d %d",&a,&b);
xy[a][b]=i;
xy[b][a]=i;
}
max=bfs(0,0);
scanf("%d",&que);
for(i=1 ; i<=que ; i++)
{
scanf("%d %d",&a,&b);
printf("%d\n",bfs(a,b)-max+1);
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |