fbpx

Problema #2616 – Paznici1 – Rezolvari PBInfo

de Mihai-Alexandru

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 alee ș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

Explicație

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n , m;
    cin >> n >> m;
    if(n%2==1)
        n++;
    if(m%2==1)
        m++;
    cout << 1LL * (n / 2) * (m / 2);
    return 0;
}
Comentarii

S-ar putea sa iti placa