結果
| 問題 |
No.157 2つの空洞
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-03-04 20:16:35 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 808 bytes |
| コンパイル時間 | 104 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,416 KB |
| 最終ジャッジ日時 | 2024-09-24 14:10:47 |
| 合計ジャッジ時間 | 2,618 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 WA * 1 |
| other | AC * 6 WA * 10 |
コンパイルメッセージ
Syntax OK
ソースコード
@w,@h = gets.split.map(&:to_i)
@data = STDIN.map(&:chomp).join('').split('')
def sol now,d,f,memo
tmp = 0
if @data[now] == '.'
if f == 1
return 0
end
else
tmp = f = 1
end
ans = 10000
memo[now] = true
if d != 'S' && now < @w && !memo[now - @w]
ans = [ans,sol(now - @w,'N',f,memo) + tmp].min
end
if d != 'N' && now / @w != @h - 1 && !memo[now + @w]
ans = [ans,sol(now + @w,'S',f,memo) + tmp].min
end
if d != 'E' && now % @w != 0 && !memo[now - 1]
ans = [ans,sol(now - 1,'W',f,memo) + tmp].min
end
if d != 'W' && now % @w != @w - 1 && !memo[now + 1]
ans = [ans,sol(now + 1,'E',f,memo) + tmp].min
end
return ans
end
memo = Array.new(@w * @h,false)
p sol(@data.index('.'),'',0,memo)