結果

問題 No.455 冬の大三角
ユーザー ciel
提出日時 2016-12-06 01:23:17
言語 Ruby
(3.4.1)
結果
AC  
実行時間 86 ms / 2,000 ms
コード長 525 bytes
コンパイル時間 35 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-06-29 21:05:34
合計ジャッジ時間 6,013 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 54
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

#!/usr/bin/ruby
H,W=gets.split.map &:to_i
M=$<.to_a
a=[]
H.times{|h|W.times{|w|M[h][w]==?*&&a<<[h,w]}}
if a[0][0]!=a[1][0]&&a[0][1]!=a[1][1]
	h,w=a[0][0],a[1][1]
else
	h,w=[[0,0],[H-1,0],[0,W-1]].find{|e|a.transpose.zip(e).none?{|x,y|x.count(y)>1}}
end
M[h][w]=?*
puts M
__END__
星が斜めに配されている時、片方の座標だけを入れ替える
そうでないとき、四隅の中で、「x座標y座標のいずれも星一覧に2回含まれない」ものを選ぶ(ただし実際には右下は必要ない)
0