結果

問題 No.157 2つの空洞
コンテスト
ユーザー hos.lyric
提出日時 2015-02-27 01:56:53
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 106 ms / 2,000 ms
コード長 381 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 49 ms
コンパイル使用メモリ 8,960 KB
実行使用メモリ 15,104 KB
最終ジャッジ日時 2026-03-09 05:59:59
合計ジャッジ時間 2,078 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 16
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

n,m=gets.split.map &:to_i
a=(1..m).map{gets}+[?#]
(0...m).any?{|x|(0...n).any?{|y|
  q=(b=a[x][y]==?.)?[x,y]:[]
  (
    x=q.shift
    y=q.shift;
    m.times{|z|n.times{|w|
      (a[z][w]=?!;q+=[z,w])if (x-z).abs+(y-w).abs<2&&a[z][w]==?.
    }}
  )while[]!=q
  b
}}
c=99
m.times{|x|n.times{|y|m.times{|z|n.times{|w|c=[c,(x-z).abs+(y-w).abs-1].min if a[x][y]==?!&&a[z][w]==?.}}}}
p c
0