Conexiones en un grafo P32618


Statement
 

pdf   zip

Dado un grafo con nn vértices, calculad cuántos subconjuntos de dos vértices xx e yy son tales que hay algún camino desde xx hasta yy, y también algún camino desde yy hasta xx.

Tened en cuenta que el grafo dado puede ser dirigido o no dirigido. En el primer caso una conexión directa entre xx e yy consiste en un arco dirigido desde xx hasta yy, mientras que en el segundo caso consiste en una arista bidireccional que conecta xx e yy en ambos sentidos.

Entrada

La entrada consiste en diversos casos, cada uno con un carácter ‘D’ o ‘N’ que indica si el grafo es dirigido o no, seguido de nn, seguida del número de arcos o aristas mm. Siguen mm pares de vértices xx yy, con xyx \ne y, indicando cada arco o arista. Suponed 1n31041 \le n \le 3 \cdot 10^4, 0m5n0 \le m \le 5n, que los vértices se numeran a partir de 0, y que no hay arcos o aristas repetidos.

Salida

Para cada caso, escribid el número de subconjuntos de dos vértices mutuamente accesibles entre sí.

Puntuación

  • Test-1:   Entradas donde n10n \le 10.

  • Test-2:   Entradas donde n50n \le 50.

  • Test-3:   Entradas sólo con grafos no dirigidos.

  • Test-4:   Entradas de todo tipo.

Public test cases
  • Input

    D 2 2
    0 1
    1 0
    
    N 6 4
    1 2
    0 5
    5 3
    3 0
    
    D 6 4
    1 2
    0 5
    5 3
    3 0
    

    Output

    1
    4
    3
    
  • Information
    Author
    Salvador Roura
    Language
    Spanish
    Official solutions
    C++
    User solutions
    C++