ConcursC++17

numinum

Se consideră următoarea structură de date:

Figura 1 din enunțul original al problemei numinum.Figura 1 din enunțul original al problemei numinum.Mărește schema ↗

  • În vârful structurii se găsește fracția 11\displaystyle \frac{1}{1}.
  • Din fiecare vârf în care se găsește fracția pq\displaystyle \frac{p}{q} se formează alte două fracții trasând câte 2 segmente de dreaptă astfel: către stânga fracția pp+q\displaystyle \frac{p}{p+q} și către dreapta fracția p+qq\displaystyle \frac{p+q}{q}.

Cerință

Cunoscând numărătorul, respectiv numitorul a două fracții ireductibile diferite din structură, determinați numărul minim de segmente de dreaptă cu care putem conecta în structura dată, cele două fracții.

Date de intrare

Pe prima linie a fişierului de intrare numinum.in se găsește un număr natural NN. Pe fiecare dintre următoarele NN linii se găsesc câte 44 numere naturale xix_i, yiy_i, aia_i, bib_i, despărțite prin câte un spațiu unde xix_i, yiy_i reprezintă numărătorul, respectiv numitorul primei fracții de pe linia i+1i+1, iar aia_i, bib_i reprezintă numărătorul, respectiv numitorul celei de-a doua fracții de pe linia i+1i+1.

Date de ieșire

Fişierul de ieşire numinum.out va conține NN linii. Pe linia ii se va scrie numărul minim de segmente de dreaptă necesare pentru a conecta, pe structura dată, fracția xiyi\displaystyle \frac{x_i}{y_i} cu fracția aibi\displaystyle \frac{a_i}{b_i}.

Restricții și precizări

  • 1≤N≤10 0001 \leq N \leq 10 \ 000;
  • 1≤xi,yi,ai,bi≤1091 \leq x_i, y_i, a_i, b_i \leq 10^9;

Exemplu

numinum.in

1
4 3 2 5

numinum.out

6

Explicație

N=1N = 1, x1=4x_1 = 4, y1=3y_1 = 3, a1=2a_1 = 2, b1=5b_1 = 5.

Pentru a conecta fracția 43\frac{4}{3} cu fracția 25\frac{2}{5}, avem nevoie de minim 66 segmente, după cum urmează:

43→13→12→11→21→23→25\frac{4}{3} \rightarrow \frac{1}{3} \rightarrow \frac{1}{2} \rightarrow \frac{1}{1} \rightarrow \frac{2}{1} \rightarrow \frac{2}{3} \rightarrow \frac{2}{5}

Sursă și autori

ONI 2018, clasele 9. Cheșcă Ciprian.

Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.

RÂNDUL TĂU

Trimite o soluție

Editor de cod

Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.

Se verifică autentificarea…

Un pas, apoi următorul.Înapoi sus ↑