結果
問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
ユーザー |
![]() |
提出日時 | 2025-04-28 22:07:49 |
言語 | Ruby (3.4.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,192 bytes |
コンパイル時間 | 228 ms |
コンパイル使用メモリ | 7,936 KB |
実行使用メモリ | 13,312 KB |
最終ジャッジ日時 | 2025-04-28 22:07:53 |
合計ジャッジ時間 | 3,903 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 2 |
other | AC * 9 WA * 12 |
コンパイルメッセージ
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 @o = aa[idx] aa.delete_at(idx) 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] 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(x) print x puts end def input = gets.chomp end Main.new.start