👤

Pe o foaie cu pătrăţele se stabileşte un sistem de coordonate în care o intersecţie primeşte coordonatele (0,0), astfel încât fiecare intersecţie a caroiajului are coordonate numere întregi. Pe acest caroiaj se desenează un pavaj cu dreptunghiuri, în care fiecare dreptunghi are o lăţime L şi o înălţime H date, iar punctul de coordonate (0,0) este un colţ de dreptunghiuri. În acest mod, fiecare intersecţie a pavajului are coordonate de forma (L*i,H*j), cu i şi j întregi.

Se mai dă o pereche de întregi x şi y şi se consideră segmentul de dreaptă ce uneşte punctul de coordonate (0,0) cu punctul de coordonate (x,y).

Cerinţă
Se cere să se determine câte dreptunghiuri ale pavajului sunt intersectate de segmentul considerat. Un dreptunghi se consideră intersectat de segment dacă are cel puţin un punct interior comun. Cu alte cuvinte, dacă segmentul doar atinge colţul unui dreptunghi, nu se consideră că îl intersectează.

Date de intrare
Fişierul patrate1.in conţine, pe o singură linie, 4 numere separate prin spaţii: L H X Y.

Date de ieşire
În fişierul patrate1.out se va scrie un singur număr întreg reprezentând numărul de dreptunghiuri intersectate de segment.

Restricţie
1 ≤ L, H, X, Y ≤ 2000000000



Exemplu
patrate1.in
4 2 6 3

patrate1.out
2


Răspuns :

#include <iostream>
#include <fstream>
using namespace std;

int main(){
int L,H,X,Y,latime,inaltime,nr_patrate=0;
ifstream fip("patrate1.in");
ofstream fop("patrate1.out");
fip>>L>>H>>X>>Y;
latime=X/L;
inaltime=Y/H;
while(latime>0||inaltime>0){
if(latime>0&&inaltime>0){
latime--;
inaltime--;
nr_patrate++;
}
else if(latime>0){
latime--;
nr_patrate++;
}
else if(inaltime>0){
inaltime--;
nr_patrate++;
}
}
nr_patrate++;
fop<<nr_patrate;
return 0;
}
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!


Ez Askings: Alte intrebari