Moisil++ 2023 Clasele 7-8 Mirror | Cătălin și masa cuantică de biliard

This was the problem page during the contest. Access the current page here.
Time limit: 0.1s Memory limit: 256MB Input: biliard.in Output: biliard.out

Cerință

Cătălin are o masă cuantică de biliard de dimensiuni n×mn \times m.

Inițial se află o bilă în colțul stânga-jos a mesei, la coordonatele (0,0)(0,0). În fiecare secundă, bila se va mișca de la poziția curentă (x,y)(x,y) la (x+1,y+1)(x+1,y+1).

În plus, când bila se ciocnește de o margine a mesei, atunci ea se va teleporta pe latura opusă, păstrându-și direcția:

  • Dacă bila se ciocnește de marginea de sus a mesei la coordonatele (x,n)(x,n), atunci ea se va teleporta instantaneu pe marginea de jos la coordonatele (x,0)(x,0).
  • Dacă bila se ciocnește de marginea din dreapta a mesei la coordonatele (m,y)(m,y), atunci ea se va teleporta instantaneu pe marginea din stânga la coordonatele (0,y)(0,y).

Aflați prima secundă când bila va ajunge în colțul din dreapta-sus a mesei de biliard. Se garantează că acest lucru mereu este posibil.

Date de intrare

Pe prima linie a fișierului de intrare biliard.in se vor afla două numere nn și mm, dimensiunile mesei de biliard.

Date de ieșire

Fișierul de ieșire biliard.out va conține un număr, prima secundă când bila va ajunge în colțul din dreapta-sus a mesei de biliard.

Restricții și precizări

  • 1n,m1091 \le n,m \le 10^9;
  • Pentru 55 puncte, n=1n=1;
  • Pentru încă 1010 puncte, n=2n=2;
  • Pentru încă 2020 de puncte, n,m1 000n,m \le 1 \ 000;
  • Pentru încă 2525 de puncte, n,m106n,m \le 10^6;
  • Pentru restul de 4040 de puncte, nu se impun restricții suplimentare.

Exemplul 1

biliard.in

4 6

biliard.out

12

Explicație

Bila va avea următorul traseu:

  • (0,0)1s(1,1)1s(2,2)1s(3,3)1s(4,4)0s(0,0) \xrightarrow{1s} (1,1) \xrightarrow{1s} (2,2) \xrightarrow{1s} (3,3) \xrightarrow{1s} (4,4) \xrightarrow{0s} tp la (4,0)(4,0)
  • (4,0)1s(5,1)1s(6,2)0s(4,0) \xrightarrow{1s} (5,1) \xrightarrow{1s} (6,2) \xrightarrow{0s} tp la (0,2)(0,2)
  • (0,2)1s(1,3)1s(2,4)0s(0,2) \xrightarrow{1s} (1,3) \xrightarrow{1s} (2,4) \xrightarrow{0s} tp la (2,0)(2,0)
  • (2,0)1s(3,1)1s(4,2)1s(5,3)1s(6,4)(2,0) \xrightarrow{1s} (3,1) \xrightarrow{1s} (4,2) \xrightarrow{1s} (5,3) \xrightarrow{1s} (6,4)

Pentru a ajunge în colțul din dreapta-sus a mesei, bila a avut nevoie de 4+2+2+4=124+2+2+4=12 secunde.

Exemplul 2

biliard.in

917 980

biliard.out

128380

Exemplul 3

biliard.in

957423 560507

biliard.out

31567193733

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