Cerința
Macaraie, pasionat de numere, dar mai ales de matrici, începe într-o zi să umple o foaie infinită de matematică cu numere astfel: în colțul aflat în stânga sus (de coordonate (1, 1)
) pune 0
, apoi scrie de la stânga la dreapta și de sus în jos cel mai mic număr care nu apare pe linia și coloana respectivă. Dându-se linia și coloana unei căsuțe din tabelă, aflați numărul de la acea poziție.
Date de intrare
Fișierul de intrare tabela.in
conține pe prima și singura linie numerele L
și C
, reprezentând linia și coloana pătrățelului a cărui valoare dorim să o determinăm.
Date de ieșire
Fișierul de ieșire tabela.out
conține pe prima linie numărul scris pe foaie la linia L
si coloana C
.
Restricții și precizări
1 ≤ L, C ≤ 2.000.000.000
Notă importantă
Această problemă a fost portată de pe Infoarena și are alte teste de evaluare! Acestea nu au fost accesibile la momentul portării problemei pe Pbinfo, motiv pentru care au fost înlocuite.
Exemplu
tabela.in
2 3
tabela.out
3
tabela.in
4 5
tabela.out
7
Explicație
0 1 2 3 4 5 .. 1 0 3 2 5 4 .. 2 3 0 1 6 7 .. 3 2 1 0 7 6 .. ..............
#include <bits/stdc++.h> using namespace std; ifstream cin("tabela.in"); ofstream cout("tabela.out"); int main() { int a, b; cin >> a >> b; int c = (a - 1) ^ (b - 1); cout << c; return 0; }