Informatică, întrebare adresată de poganjesica, 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
14

#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;

}


andrei750238: Testat in VS, functioneaza.
andrei750238: 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.
ionutgogelescu: Mie imi da 80p in pb info, insa am alta solutie: #include
using namespace std;
long long m,n,p;
int main()
{
cin>>n>>m;
p=(n/2)*(m/2)+(n%2)*(m/2)+(m%2)*(n/2)+(n%2)*(m%2);
cout<}
andrei750238: Bine si asa. Putin ma intereseaza de PBINFO. Debugger-ul lor e cam ciufut. Cat timp raspunsul e corect si programul ruleaza nu ar trebui sa conteze ce metoda este folosita.
Alte întrebări interesante