Xor


Submit solution

Points: 100
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++, PyPy, Python

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

There are no comments at the moment.