結果
| 問題 |
No.86 TVザッピング(2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2014-12-05 21:24:40 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 89 ms / 5,000 ms |
| コード長 | 524 bytes |
| コンパイル時間 | 72 ms |
| コンパイル使用メモリ | 8,064 KB |
| 実行使用メモリ | 12,928 KB |
| 最終ジャッジ日時 | 2025-06-20 13:57:46 |
| 合計ジャッジ時間 | 3,779 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
コンパイルメッセージ
Syntax OK
ソースコード
n,m=gets.split.map(&:to_i)
l=(1..n).map{gets+?#}+[?#*m]
fx=x=0
fy=y=(0...n).find{|i|fx=x=l[i].rindex(?.)}
dir=[[0,-1],[-1,0],[0,1],[1,0]]*2
d=1
right=false
loop{
l[y][x]=?#
(rx,ry),(dx,dy),(lx,ly)=dir[d-1..d+1]
if l[y+ry][x+rx]==?.
break if right
right=true
d-=1
x+=rx
y+=ry
elsif l[y+dy][x+dx]==?.
x+=dx
y+=dy
elsif l[y+ly][x+lx]==?.
break if d>4
d+=1
x+=lx
y+=ly
else
break
end
}
puts d>2&&d<6&&y-1==fy&&x==fx&&!(l*"")[?.]?:YES:"NO"