結果
問題 |
No.55 正方形を描くだけの簡単なお仕事です。
|
ユーザー |
![]() |
提出日時 | 2025-04-28 23:59:46 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 84 ms / 5,000 ms |
コード長 | 1,297 bytes |
コンパイル時間 | 590 ms |
コンパイル使用メモリ | 8,100 KB |
実行使用メモリ | 12,928 KB |
最終ジャッジ日時 | 2025-04-28 23:59:50 |
合計ジャッジ時間 | 3,688 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 21 |
コンパイルメッセージ
Main.rb:55: warning: assigned but unused variable - n 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 result = [@o[0] + x, @o[1] + y] @o = nil result end def f8(aa) def ff(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 end def f(aa, i, j) aa[i % aa.size][j] end b = [] n = aa.size for i in 0...aa.size x = 0 for j in 0...2 x += (f(aa, i + 2, j) - f(aa, i + 1, j)) ** 2 end b += [x] end c = b.sort return false if c[0] * 2 != c[-1] or c[0] != c[1] return ff(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