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.0001 ≤ 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;
}