var n = 0 var answer = mutableListOf<Int>() val dx = intArrayOf(1, 0, -1, 0) val dy = intArrayOf(0, 1, 0, -1) lateinitvar map: Array<IntArray> lateinitvar visit: Array<BooleanArray>
funmain() { init()
for (x in0 until n) { for (y in0 until n) { if (!visit[x][y] && map[x][y] == 1) { bfs(x, y) } } }
var n = 0 var count = 0 var answer = mutableListOf<Int>() val dx = intArrayOf(1, 0, -1, 0) val dy = intArrayOf(0, 1, 0, -1) lateinitvar map: Array<IntArray> lateinitvar visit: Array<BooleanArray>
funmain() { init()
for (x in0 until n) { for (y in0 until n) { if (!visit[x][y] && map[x][y] == 1) { dfs(x, y) answer.add(count) count = 0 } } }
for (dir in0 until 4) { val (nx, ny) = x + dx[dir] to y + dy[dir] if (nx < 0 || nx >= n || ny < 0 || ny >= n) continue if (visit[nx][ny] || map[nx][ny] == 0) continue