/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{ public static int[] dr = {1,1,0,-1,-1,-1,0,1};
public static int[] dc = {0,1,1,1,0,-1,-1,-1};
public static int floodFill(int row, int column, int one, int zero, int size, int[][] grid) {
if (row < 0 || row>= size || column < 0 || column >= size ) {
return 0;
}
if(grid[row][column] != one) {
return 0;
}
int answer = 1;
grid[row][column] = zero;
for (int d = 0; d < 8; d++) {
answer += floodFill(row + dr[d], column + dc[d], 1, 0, size, grid);
}
return answer;
}
{
Scanner kb
= new Scanner
(System.
in); while (kb.hasNextInt()) {
int size = kb.nextInt();
int[][] graph = new int[size][size];
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++) {
graph
[i
][j
] = Character.
getNumericValue(temp.
charAt(j
)); }
}
System.
out.
println(floodFill
(0,
3,
1,
0,size,graph
)); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsJcHVibGljIHN0YXRpYyBpbnRbXSBkciA9IHsxLDEsMCwtMSwtMSwtMSwwLDF9OwoJcHVibGljIHN0YXRpYyBpbnRbXSBkYyA9IHswLDEsMSwxLDAsLTEsLTEsLTF9OwoJcHVibGljIHN0YXRpYyBpbnQgZmxvb2RGaWxsKGludCByb3csIGludCBjb2x1bW4sIGludCBvbmUsIGludCB6ZXJvLCBpbnQgc2l6ZSwgaW50W11bXSBncmlkKSB7CgkJaWYgKHJvdyA8IDAgfHwgcm93Pj0gc2l6ZSB8fCBjb2x1bW4gPCAwIHx8IGNvbHVtbiA+PSBzaXplICkgewoJCQlyZXR1cm4gMDsKCQl9CgkJaWYoZ3JpZFtyb3ddW2NvbHVtbl0gIT0gb25lKSB7CgkJCXJldHVybiAwOwoJCX0KCQlpbnQgYW5zd2VyID0gMTsKCQlncmlkW3Jvd11bY29sdW1uXSA9IHplcm87CgkJZm9yIChpbnQgZCA9IDA7IGQgPCA4OyBkKyspIHsKCQlhbnN3ZXIgKz0gZmxvb2RGaWxsKHJvdyArIGRyW2RdLCBjb2x1bW4gKyBkY1tkXSwgMSwgMCwgc2l6ZSwgZ3JpZCk7CgkJfQoJCXJldHVybiBhbnN3ZXI7Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTY2FubmVyIGtiID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQl3aGlsZSAoa2IuaGFzTmV4dEludCgpKSB7CgkJCWludCBzaXplID0ga2IubmV4dEludCgpOwoJCQlpbnRbXVtdIGdyYXBoID0gbmV3IGludFtzaXplXVtzaXplXTsKCQkJZm9yIChpbnQgaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKCQkJCVN0cmluZyB0ZW1wID0ga2IubmV4dCgpOwoJCQkJZm9yIChpbnQgaiA9IDA7IGogPCBzaXplOyBqKyspIHsKCQkJCQlncmFwaFtpXVtqXSA9IENoYXJhY3Rlci5nZXROdW1lcmljVmFsdWUodGVtcC5jaGFyQXQoaikpOwoJCQkJfQoJCQl9CgkJCVN5c3RlbS5vdXQucHJpbnRsbihmbG9vZEZpbGwoMCwzLDEsMCxzaXplLGdyYXBoKSk7CgkJfQoJfQp9