A forma de realização básica da figura armazenado em uma substancialmente - Um

Descrição

teoria dos grafos para resolver o problema, é preciso primeiro pensar em que tipo de um mapa armazenado. Mas pequena Xin mas como não conseguia entender como o mapa de memória pode ajudar a resolver o problema. você pode ajudá-lo a resolver este problema?
entrada

Vários conjuntos de entrada para o final do arquivo.

A primeira linha de cada grupo de dois números de N, M representa n pontos, m artigo dirigido borda. Depois existem M fileiras de dois números de U, V representante de u para v Há uma borda dirigida. M + 2 segunda linha tem um número q representa o número de interrogação, em seguida, as linhas de q têm cada um uma consulta, a entrada de dois átomos, um b.

Nota: o número de ponto é 0 ~ N-1,2 <= n <= 5000, n * (n-1) / 2 <= m <= n * (n-1), 0 <= Q <= 1000000, uma! = b, e a entrada para assegurar que nenhum auto-ciclo peso borda
de saída

Para cada inquérito, linha de saída. Se um de b podem se comunicar diretamente saída Sim, caso contrário, No. saídas
amostra

Entrada

2 1
0 1
2
0 1
1 0
Output

Sim
Não

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<malloc.h>
bool a[5000][5000];//用int型会超时
int main()
{
    int n,m,u,v,q,x,y;
    while(~scanf("%d %d",&n,&m))
    {
        memset(a,0,sizeof(a));
        for(int i=0;i<m;i++)
        {
            scanf("%d %d",&u,&v);
            a[u][v] = 1;
        }
        scanf("%d",&q);
        while(q--)
        {
            scanf("%d %d",&x,&y);
            if(a[x][y] == 1)
                printf("Yes\n");
            else
                printf("No\n");
        }

    }
    return 0;
}

Publicado 177 artigos originais · ganhou elogios 7 · vê 30000 +

Acho que você gosta

Origin blog.csdn.net/Fusheng_Yizhao/article/details/104874378
Recomendado
Clasificación