結果
問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
ユーザー |
![]() |
提出日時 | 2025-04-28 22:02:03 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,271 bytes |
コンパイル時間 | 695 ms |
コンパイル使用メモリ | 8,192 KB |
実行使用メモリ | 13,312 KB |
最終ジャッジ日時 | 2025-04-28 22:02:10 |
合計ジャッジ時間 | 4,640 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 4 |
other | WA * 21 |
コンパイルメッセージ
Main.rb:8: warning: ambiguous first argument; put parentheses or a space even after `-` operator Main.rb:81: warning: ambiguous `*` has been interpreted as an argument prefix Syntax OK
ソースコード
class Main INF = 2 ** 60 def start aa = f9(input.split.map(&:to_i)) idx = f8(aa) if not idx echo -1 else echo f7(aa, idx).join(" ") end self.class.send(:remove_const, :INF) return nil end private def f7(aa, idx) def f(aa, i, j) (aa[i][j] - @o[j]) end echo aa echo idx @o = aa[idx] echo @o aa.delete_at(idx) echo @o echo aa x, y = 0, 0 for i in 0...2 x += f(aa, i, 0) y += f(aa, i, 1) end @o = nil return [x / 2, y / 2] end def f8(aa) def f(b) max = -INF idx = nil for i in 0...b.size v = b[i] if v > max max = v idx = i end end return (idx - 1) % b.size end b = [] n = aa.size for i in 0...n x = 0 for j in 0...2 x += (aa[(i + 1) % n][j] - aa[i][j]) ** 2 end b += [x] echo b end return false if b.to_set.size != 2 return f(b) end def f9(a) aa = [] while a.size > 0 t = [] for _ in 0...2 t.append a.pop end aa += [t.reverse] end aa.reverse end def echo(*arg) print *arg puts end def input = gets.chomp end Main.new.start