제출 #2810

#제출 시각아이디문제언어결과실행 시간메모리
2810ansol4328간선 파괴 (GA5_destroy)C++98
0 / 100
2500 ms3088 KiB
#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 answer[50002];

    scanf("%d %d",&n,&m);
    for(i=1 ; i<=m ; i++)
    {
        scanf("%d %d",&a,&b);
        xy[a][b]=i;
    }
    scanf("%d",&que);
    for(i=1 ; i<=que ; i++)
    {
        scanf("%d %d",&a,&b);
        answer[i]=bfs(a,b);
    }
    for(i=1 ; i<=que ; i++) printf("%d\n",answer[i]);
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...