結果
問題 |
No.697 池の数はいくつか
|
ユーザー |
![]() |
提出日時 | 2021-01-10 19:52:18 |
言語 | Ruby (3.4.1) |
結果 |
RE
|
実行時間 | - |
コード長 | 435 bytes |
コンパイル時間 | 447 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 90,240 KB |
最終ジャッジ日時 | 2024-11-25 16:47:20 |
合計ジャッジ時間 | 39,417 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 RE * 2 TLE * 4 |
コンパイルメッセージ
Syntax OK
ソースコード
H, W = gets.split.map(&:to_i) A = H.times.map { gets.split.map(&:to_i) } DY = [-1, 0, 1, 0] DX = [0, 1, 0, -1] def f(y, x) return if A[y][x] == 0 A[y][x] = 0 4.times do |i| ny = y + DY[i] nx = x + DX[i] next if ny < 0 || nx < 0 || H <= ny || W <= nx next if A[ny][nx] == 0 f(ny, nx) end end ans = 0 H.times do |y| W.times do |x| next if A[y][x] == 0 ans += 1 f(y, x) end end puts ans