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

Răspunsuri la întrebare

Răspuns de CinevaFaraNume
2

#include <iostream>

using namespace std;

int abs(int x){return x < 0 ? -x : x;}

int distanta_manhattan(int x1, int y1, int x2, int y2){

return abs(x1-x2) + abs(y1-y2);

}

int main(){

int n,m,x,y;

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

       for(int i = 1; i <= n; i++){

            for(int j = 1; j <= m; j++)

                       cout << (distanta_manhattan(x,y,i,j)+1) << ' ';

               cout << '\n';

       }

       return 0;

}


anamariaany45p9ya3w: Nu ai respectat enuntul
CinevaFaraNume: ???
CinevaFaraNume: Aaa
CinevaFaraNume: E maximul dintre toate numerele afisate
CinevaFaraNume: Credeam ca e alta problema similara
CinevaFaraNume: #include
using namespace std;

int abs(int x){return x < 0 ? -x : x;}

int distanta_manhattan(int x1, int y1, int x2, int y2){
return abs(x1-x2) + abs(y1-y2);
}

int max(int a, int b){
return a > b ? a : b;
}

int main(){
int n,m,x,y;
cin >> x >> y >> n >> m;
cout << 1+max(max(distanta_manhattan(1,1,x,y), distanta_manhattan(n, 1, x, y)), max(distanta_manhattan(1,m,x,y), distanta_manhattan(n, m, x, y)));
return 0;
}
anamariaany45p9ya3w: Multumesc !!
Alte întrebări interesante