結果
問題 |
No.455 冬の大三角
|
ユーザー |
![]() |
提出日時 | 2021-10-03 19:20:38 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 100 ms / 2,000 ms |
コード長 | 790 bytes |
コンパイル時間 | 269 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-07-21 14:17:00 |
合計ジャッジ時間 | 7,858 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 54 |
コンパイルメッセージ
Syntax OK
ソースコード
H, W = gets.split.map(&:to_i) S = H.times.map { gets.chomp } counter_y = Array.new(H, 0) counter_x = Array.new(W, 0) points = [] H.times do |y| W.times do |x| next if S[y][x] == '-' points << [y, x] counter_y[y] += 1 counter_x[x] += 1 end end H.times do |y| next if counter_y[y] != 1 W.times do |x| next if counter_x[x] != 1 next if S[y][x] == '*' S[y][x] = '*' puts S exit end end dy = points[1][1] - points[0][1] dx = points[1][0] - points[0][0] H.times do |y| next if counter_y[y] == 2 W.times do |x| next if counter_x[x] == 2 next if S[y][x] == '*' next if points[0][1] - dy == y && points[0][0] - dx == x next if points[1][1] + dy == y && points[1][0] + dx == x S[y][x] = '*' puts S exit end end