Xor
Dano je \(N\) brojeva. Odredite može li se ovih \(N\) brojeva rasporediti u dvije skupine tako da je rezultat operacije XOR nad elementima unutar svake skupine jednak. Operacija XOR (ekskluzivno ILI) primjenjuje se na dva broja i rezultira brojem čiji su bitovi postavljeni u 1 na svim pozicijama na kojima se bitovi ulaznih brojeva razlikuju.
Ulazni podatci
Prvi red sadrži jedan cijeli broj \(N\) \((1 \leq N \leq 10^5)\), koji predstavlja broj brojeva koje treba razvrstati.
Drugi red sadrži \(N\) cijelih brojeva \(a_i\) \((0 \leq a_i \leq 10^9)\) odvojenih razmakom, koji predstavljaju brojeve koje treba rasporediti u skupine.
Izlazni podatci
Ispisati "DA" (bez navodnika) ako je moguće brojeve rasporediti u dvije skupine tako da je rezultat operacije XOR nad elementima unutar svake skupine jednak. U suprotnom, ispisati "NE".
Podzadatci
Podzadatak | Broj bodova | Ograničenja |
---|---|---|
1 | 40 | \((1 \leq N \leq 1000)\) |
2 | 60 | Nema dodatnih ograničenja. |
Ulaz primjera 1
4
4 5 6 7
Izlaz primjera 1
DA
Ulaz primjera 2
3
1 2 4
Izlaz primjera 2
NE
Objašnjenje primjera:
U prvom primjeru, moguće je rasporediti brojeve u dvije skupine na sljedeći način: prva skupina \((4, 5)\) i druga skupina \((6, 7)\). XOR prve skupine je \(4 \oplus 5 = 1\), a XOR druge skupine je \(6 \oplus 7 = 1\), stoga je uvjet zadovoljen.
U drugom primjeru, nije moguće postići jednakost XOR-a za bilo koju podjelu brojeva u dvije skupine.
Comments