// Minesweeper отварање
#include <iostream>
using namespace std;
int bombe[10][10] = {0};
bool otvoreno[10][10] = {false};
void DFS(int i, int j)
{
if (i < 0 or i == 10 or j < 0 or j == 10 or otvoreno[i][j])
return;
otvoreno[i][j] = true;
if (bombe[i][j] == 0)
{
for (int x = -1; x <= 1; x++)
for (int y = -1; y <= 1; y++)
{
if (x == 0 and y == 0)
continue;
DFS(i + x, j + y);
}
}
}
int main()
{
int polje[10][10];
for (int i = 0; i < 10; i++)
{
string ulaz;
cin >> ulaz;
for (int j = 0; j < 10; j++)
polje[i][j] = ulaz[j] - '0';
}
int red, kolona;
cin >> red >> kolona;
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++)
for (int x = -1; x <= 1; x++)
for (int y = -1; y <= 1; y++)
{
if (x == 0 and y == 0)
continue;
if (i + x >= 0 and i + x < 10 and j + y >= 0 and j + y < 10)
bombe[i][j] += polje[i + x][j + y];
}
DFS(red, kolona);
if (polje[red][kolona] == 1)
cout << "boom" << endl;
else
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
if (!otvoreno[i][j])
cout << "x";
else
if (bombe[i][j] == 0)
cout << ".";
else
cout << bombe[i][j];
cout << endl;
}
return 0;
}
Ly8gTWluZXN3ZWVwZXIg0L7RgtCy0LDRgNCw0ZrQtQojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGJvbWJlWzEwXVsxMF0gPSB7MH07CmJvb2wgb3R2b3Jlbm9bMTBdWzEwXSA9IHtmYWxzZX07Cgp2b2lkIERGUyhpbnQgaSwgaW50IGopCnsKICAgIGlmIChpIDwgMCBvciBpID09IDEwIG9yIGogPCAwIG9yIGogPT0gMTAgb3Igb3R2b3Jlbm9baV1bal0pCiAgICAgICAgcmV0dXJuOwogICAgb3R2b3Jlbm9baV1bal0gPSB0cnVlOwogICAgaWYgKGJvbWJlW2ldW2pdID09IDApCiAgICB7CiAgICAgICAgZm9yIChpbnQgeCA9IC0xOyB4IDw9IDE7IHgrKykKICAgICAgICAgICAgZm9yIChpbnQgeSA9IC0xOyB5IDw9IDE7IHkrKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKHggPT0gMCBhbmQgeSA9PSAwKQogICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgREZTKGkgKyB4LCBqICsgeSk7CiAgICAgICAgICAgIH0KICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBpbnQgcG9samVbMTBdWzEwXTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTA7IGkrKykKICAgIHsKICAgICAgICBzdHJpbmcgdWxhejsKICAgICAgICBjaW4gPj4gdWxhejsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDEwOyBqKyspCiAgICAgICAgICAgIHBvbGplW2ldW2pdID0gdWxheltqXSAtICcwJzsKICAgIH0KICAgIGludCByZWQsIGtvbG9uYTsKICAgIGNpbiA+PiByZWQgPj4ga29sb25hOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCAxMDsgaSsrKQogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgMTA7IGorKykKICAgICAgICAgICAgZm9yIChpbnQgeCA9IC0xOyB4IDw9IDE7IHgrKykKICAgICAgICAgICAgICAgIGZvciAoaW50IHkgPSAtMTsgeSA8PSAxOyB5KyspCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKHggPT0gMCBhbmQgeSA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICBpZiAoaSArIHggPj0gMCBhbmQgaSArIHggPCAxMCBhbmQgaiArIHkgPj0gMCBhbmQgaiArIHkgPCAxMCkKICAgICAgICAgICAgICAgICAgICAgICAgYm9tYmVbaV1bal0gKz0gcG9samVbaSArIHhdW2ogKyB5XTsKICAgICAgICAgICAgICAgIH0KICAgIERGUyhyZWQsIGtvbG9uYSk7CiAgICBpZiAocG9samVbcmVkXVtrb2xvbmFdID09IDEpCiAgICAgICAgY291dCA8PCAiYm9vbSIgPDwgZW5kbDsKICAgIGVsc2UKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspCiAgICAgICAgewogICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IDEwOyBqKyspCiAgICAgICAgICAgICAgICBpZiAoIW90dm9yZW5vW2ldW2pdKQogICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgIngiOwogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgIGlmIChib21iZVtpXVtqXSA9PSAwKQogICAgICAgICAgICAgICAgICAgICAgICBjb3V0IDw8ICIuIjsKICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgYm9tYmVbaV1bal07CiAgICAgICAgICAgIGNvdXQgPDwgZW5kbDsKICAgICAgICB9CiAgICByZXR1cm4gMDsKfQ==