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 de zile după care va fi afectat fiecare copac al pădurii.
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 n•m
numere, reprezentând numărul de zile după care va fi afectat fiecare copac al pădurii.
Restricții și precizări
1 ≤ x ≤ n ≤ 1.000
1 ≤ y ≤ m ≤ 1.000
Exemplu 1:
Intrare
2 2 4 5
Ieșire
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
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
#include <bits/stdc++.h> using namespace std; int main() { int a , b , n , m; cin >> a >> b >> n >> m; for(int i = 1 ; i <= n ; ++i) { for(int j = 1 ; j <= m ; ++j) cout << abs(a - i) + abs(b - j) + 1 << ' '; cout << endl; } return 0; }