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

Se consideră o pădure ce conține n•m copaci aranjați pe n linii și m coloane în care s-a produs un incendiu. Pădurarii cunosc coordonatele x și y ale copacului de la care a izbucnit focul și modalitatea prin care acesta se extinde. Astfel, dacă un copac se aprinde într-o anumită zi, în ziua următoare se vor aprind copacii vecini cu acesta pe linie sau coloană care nu sunt încă afectați de incendiu.

Cerința
Știind x și y, coordonatele inițiale ale focului și n și m, dimensiunile pădurii, ajutați pădurarii să determine numărul minim de zile după care întreaga pădure va fi afectată.

Date de intrare
Programul citește de la tastatură numerele x y n m, cu semnificația de mai sus.

Date de ieșire
Programul va afișa pe ecran numărul Z, reprezentând numărul de zile după care va fi afectată întreaga pădure.

Restricții și precizări
1 ≤ x ≤ n ≤ 1.000.000.000
1 ≤ y ≤ m ≤ 1.000.000.000
Exemplu 1:
Intrare

2 2 4 5
Ieșire

6
Explicație
În funcție de numărul de zile, fiecare zonă va fi distrusă în numărul de zile corespunzător figurii de mai jos:

3 2 3 4 5
2 1 2 3 4
3 2 3 4 5
4 3 4 5 6
Exemplu 2:
Intrare

3 3 9 9
Ieșire

13
Explicație
În funcție de numărul de zile, fiecare zonă va fi distrusă în numărul de zile corespunzător figurii de mai jos:

5 4 3 4 5 6 7 8 9
4 3 2 3 4 5 6 7 8
3 2 1 2 3 4 5 6 7
4 3 2 3 4 5 6 7 8
5 4 3 4 5 6 7 8 9
6 5 4 5 6 7 8 9 10
7 6 5 6 7 8 9 10 11
8 7 6 7 8 9 10 11 12
9 8 7 8 9 10 11 12 13

Răspunsuri la întrebare

Răspuns de ProMinecraft69
7

Răspuns:

Explicație:

#include <iostream>

#include <cmath>

using namespace std;

int main()

{

long long x,y,n,m, mx = -3;

   cin >> x >> y >> n >> m;

    long long colt1, colt2, colt3, colt4;

   colt1 = x - 1 + y - 1 + 1;

   if(colt1 > mx)

       mx = colt1;

   colt2 = x - 1 + m - y +1;

   if(colt2 > mx)

       mx = colt2;

   colt3 = n - x + y - 1 +1;

   if(colt3 > mx)

       mx = colt3;

   colt4 = n - x + m - y +1;

   if(colt4 > mx)

       mx = colt4;

   cout << mx;

   return 0;

}


boiustef: frumos....
ProMinecraft69: :)
Alte întrebări interesante