Arbres diferents P20665


Statement
 

pdf   zip

En aquest problema considerem arbres, és a dir, grafs no dirigits, connexs i sense cicles. Donat un arbre AA amb vèrtexs 1,,n1, \dots, n, sigui gA(x)g_A(x) el grau (el nombre de veïns) del vèrtex xx dins d’AA. Diem que dos arbres AA i BB són suficientment diferents si, per a tota 1xn1 \le x \le n, es compleix gA(x)gB(x)g_A(x) \ne g_B(x).

Donat un arbre AA amb nn vèrtexs, existeix algun arbre BB que també tingui nn vèrtexs i que en sigui suficientment diferent?

Entrada

L’entrada consisteix en diversos casos, cadascun amb nn, seguida d’n1n - 1 arestes xx yy. Suposeu 2n1052 \le n \le 10^5, que els vèrtexs es numeren entre 1 i nn, i que les arestes donades realment formen un arbre.

Sortida

Per a cada arbre donat, si no existeix cap arbre amb el mateix nombre de vèrtexs que en sigui suficientment diferent, escriviu “NO”. Altrament, escriviu “SI” seguit de les n1n - 1 arestes de l’arbre, en qualsevol ordre. També podeu triar l’ordre dels dos vèrtexs de cada aresta. Si hi ha més d’una solució possible, escolliu la que vulgueu. Seguiu estrictament el format dels exemples.

Public test cases
  • Input

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

    Output

    NO
    NO
    SI  1 4  2 1  3 4
    SI  5 1  3 2  1 4  2 5
    
  • Information
    Author
    Manuel Torres
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++