#include #include using namespace std; int main() { int redovi, koloni; cin >> redovi >> koloni; int r, k; cin >> r >> k; r--; // indeksite ni zapocnuvaat od indeks 0, dodeka vo zadacata ni se dadeni od 1 deka pocnuvaat k--; int matrica[redovi][koloni]; int poseteno[redovi][koloni]; for(int i = 0; i < redovi; i++) { for(int j = 0; j < koloni; j++) { poseteno[i][j] = 0; } } queue Q; Q.push(r); Q.push(k); Q.push(0); poseteno[r][k] = 1; int di[] = {+1, -1, 0, 0}; int dj[] = {0, 0, -1, +1}; while(Q.size() > 0) { int ci = Q.front(); Q.pop(); int cj = Q.front(); Q.pop(); int ucenik = Q.front(); Q.pop(); matrica[ci][cj] = ucenik; for(int i = 0; i < 4; i++) { int ti = ci + di[i]; int tj = cj + dj[i]; if(ti >= 0 and ti < redovi and tj >= 0 and tj < koloni and poseteno[ti][tj] == 0) { Q.push(ti); Q.push(tj); Q.push(ucenik + 1); poseteno[ti][tj] = 1; } } } int posleden_ucenik = 0; for(int i = 0; i < redovi; i++) { for(int j = 0; j < koloni; j++) { if(posleden_ucenik < matrica[i][j]) { posleden_ucenik = matrica[i][j]; } } } int kolku_ucenici = 0; for(int i = 0; i < redovi; i++) { for(int j = 0; j < koloni; j++) { if(matrica[i][j] == posleden_ucenik) { kolku_ucenici++; } } } cout << posleden_ucenik << endl; cout << kolku_ucenici << endl; return 0; }