Sari la conținut
Zece la Info
Probleme

Concurs MI UB 2024 - Reconstruirea secretului XOR

Medie 2000 ms 64 MB#concurs#mateinfo-ub#2024#simulare

Se considera urmatoarea secventa de cod C++, aplicata asupra unui tablou secret[] de n octeti (numere intre 0 si 255):

for (int i = 1; i < n; i++) for (int j = 2 * i; j < n; j += i) secret[j] ^= secret[i];

Cunoscand tabloul final f[0..n-1] (valorile din secret[] dupa rularea codului), determinati tabloul original o[0..n-1] (valorile din secret[] inainte de rulare).

Date de intrare
Pe prima linie se citeste numarul intreg n. Pe a doua linie se citesc n numere intregi (0-255), tabloul final f[0..n-1].
Date de iesire
Se afiseaza n numere intregi separate prin spatiu: tabloul original reconstituit o[0..n-1].
Restrictii
1 <= n <= 100000 0 <= f[i] <= 255

Exemple

Exemplul 1

Intrare

12
109 97 21 4 89 40 62 39 98 72 9 35

Iesire

109 97 116 101 45 73 78 70 79 45 85 66

Exemplul 2

Intrare

1
200

Iesire

200

Vrei să rezolvi problema?

Creează-ți un cont gratuit ca să scrii cod în editor, să trimiți soluții la evaluator și să vezi indicațiile.