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
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
Biologie,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
9 ani în urmă