Informatică, întrebare adresată de davidpetrisor9p0lssl, 8 ani în urmă

Un parc de formă dreptunghiulară este împărțit în n * m sectoare, dispuse pe n linii și m coloane. Între oricare două sectoare învecinate, precum și pe exteriorul parcului sunt alei, ca în imaginea următoare (sectoarele sunt colorate cu verde, aleele cu gri):
Administrația parcului hotărăște angajarea unor paznici. Fiecare paznic va ocupa o poziție fixă pe o aleea și va supraveghea sectoarele învecinate, ca mai jos. Astfel, un paznic poate supraveghea unul, două sau patru sectoare.
Cerința:
Scrieți un program care citește n și m și determină numărul minim de paznici care trebuie angajați pentru a supraveghea parcul în aceste condiții.
Date de intrare:
Programul citește de la tastatură numerele naturale nenule n m.
Date de ieșire:
Programul va afișa pe ecran numărul P, reprezentând valoarea cerută.
Restricții și precizări:
1 ≤ n, m ≤ 1 000 000
Exemplu:
Intrare:
2 2
Ieșire:
1

Răspunsuri la întrebare

Răspuns de andrei750238
0

#include <iostream>


using namespace std;


int main() {


int m, n;


cout << "Intoduceti lungimea si latimea parcului: ";


cin >> m >> n;


int pm, pn;


if (m % 2 == 0) pm = m / 2;


else pm = m / 2 + 1;


if (n % 2 == 0) pn = n / 2;


else pn = m / 2 + 1;


int P = pn * pm;


cout << endl << P;


}


Explicatie : Fiecare pazinc poate supraveghea 2 patrate pe lungime si 2 patrate pe latime.

Impartind lungimea la 2 aflam numarul de paznici / lungime

Impartind latimea la 2 aflam numarul de paznici / latime


Numarul total de paznici e numarul de paznici pe lungime * numarul de paznici pe latime.


Citește mai multe pe Brainly.ro - https://brainly.ro/tema/5422672#readmore

Alte întrebări interesante