Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2014-12-06 23:37:39.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:disconnect.in, disconnect.outSursăAlgoritmiada 2015 Runda 1
AutorAdrian VladuAdăugată defreak93Adrian Budau freak93
Timp execuţie pe test0.75 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Disconnect

Poveste şi cerinţă...

Date de intrare

Fişierul de intrare disconnect.in va conţine pe prima linie numerele N şi M, semnificând numărul de noduri, respectiv numărul de operaţii care se vor efectua asupra arborelui. Următoarele N - 1 linii conţin câte o pereche de numere X Y, semnificând faptul că există o muchie neorientată între nodurile X şi Y. Următoarele M linii conţin câte trei numere tip X Y. Acestea descriu o operaţie, după cum urmează:

int XOR = 0;

    for (int i = 0; i < M; ++i) {
        int type, x, y; cin >> type >> x >> y;

        x ^= XOR;
        y ^= XOR;

        if (type == 1) {
            T.removeEdge(x, y);
        } else
            if (T.query(x, y)) {
                cout << "YES\n";
                XOR = x;
            } else {
                cout << "NO\n";
                XOR = y;
            }
    }

Date de ieşire

În fişierul de ieşire disconnect.out ...

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

disconnect.indisconnect.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?