valori

Time limit: 0.2s Memory limit: 32MB Input: valori.in Output: valori.out

Se dau două numere naturale N și M. Se consideră un șir de numere de lungime N indexat de la 0 căruia trebuie să i se atribuie valori astfel încât să se respecte M restricții de forma:

0 i val1 val2- elementul ii poate avea doar valoarea val1val_1 sau val2val_2
1 i j val- fix unul dintre elementele de pe pozițiile ii și jj trebuie să aibă valoarea valval
2 i j - elementele de pe pozițiile ii și jj trebuie să aibă valori diferite
3 i j - elementele de pe pozițiile ii și jj trebuie să aibă aceeași valoare

Cerinţă

Determinați o atribuire de valori asupra șirului astfel încât acesta să respecte cele M restricții.

Date de intrare

Pe prima linie din fișierul valori.in se află două numere naturale N și M.
Pe a doua linie din fișierul de intrare se află cele M restricții.
Primele N restricții (N + 1 linii) reprezintă restricții de tipul 0.
Următoarele M – N linii sunt restricții de tipul 1, 2, sau 3.

Date de ieșire

Fişierul de ieşire valori.out va conţine valorile atribuite fiecărui element din șirul de lungime N.

Restricții și precizări

  • 1 ≤ N ≤ 10 000
  • 1 ≤ M ≤ 40 000
  • Toate valorile din input se vor încadra pe 32 de biti.
  • Se poate afișa orice soluție corectă.
  • Se garantează ca există cel puțin o soluție.

Exemplu

valori.in

6 10
0 0 1 2
0 1 1 0
0 2 3 2
0 3 2 3
0 4 1 0
0 5 1 3
1 2 3 2
2 0 4
3 1 0
3 5 1

valori.out

1 1 3 2 0 1	

Log in or sign up to be able to send submissions!