Isomorfisme de grafs P65235


Statement
 

pdf   zip

Donats dos grafs no dirigits G1G_1 i G2G_2 amb nn vèrtexs i mm arestes cadascun, podeu determinar si són isomorfs, és a dir, si són bàsicament el mateix graf?

Suposeu que els nn vèrtexs es numeren començant en 0. Més formalment, cal determinar si existeix alguna bijecció f:{0,,n1}{0,,n1}f : \{ 0, \dots, n - 1 \} \to \{ 0, \dots, n - 1 \} tal que, per a cada parell de vèrtexs (x,y)(x, y), xx i yy estan connectats amb una aresta a G1G_1 si i només si f(x)f(x) i f(y)f(y) estan connectats amb una aresta a G2G_2.

Entrada

L’entrada consisteix en diversos casos, cadascun amb nn i mm, seguides de les mm arestes de G1G_1, seguides de les mm arestes de G2G_2. Suposeu 2n142 \le n \le 14 i 0<m<n(n1)/20 < m < n(n - 1)/2. No hi ha més d’una aresta entre cada parell de vèrtexs, ni arestes entre un vèrtex i ell mateix.

Sortida

Per a cada cas, escriviu “yes” o “no” segons convingui.

Puntuació

La solució esperada és un backtracking raonablement optimitzat. El jutge us donarà una estimació de la nota màxima que podeu treure (7 o 10) en funció de l’eficiència del vostre codi. En qualsevol cas, tots els últims enviaments s’avaluaran manualment, inclosos els que rebin 0 punts automàtics.

Public test cases
  • Input

    3 2
    0 1  1 2
    2 0  1 0
    
    4 5
    0 1  1 2  3 2  0 3  3 1
    3 2  3 1  2 1  2 0  1 0
    
    5 5
    0 1  0 2  1 2  0 3  0 4
    4 3  4 2  3 2  4 1  1 0
    

    Output

    yes
    yes
    no
    
  • Information
    Author
    Enric Rodriguez
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++