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 1≤x≤n1 \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’n−1n - 1 arestes xx yy. Suposeu 2≤n≤1052 \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 n−1n - 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++