結果
問題 | No.245 貫け! |
ユーザー |
![]() |
提出日時 | 2015-08-24 13:11:19 |
言語 | Ruby (3.4.1) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 672 bytes |
コンパイル時間 | 58 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 18,176 KB |
最終ジャッジ日時 | 2024-07-18 13:08:49 |
合計ジャッジ時間 | 12,161 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 8 TLE * 1 -- * 7 |
コンパイルメッセージ
Syntax OK
ソースコード
def cross?(beam,line)va = 2.times.map {|i| line[:a][i] - beam[:a][i]}vb = 2.times.map {|i| line[:b][i] - beam[:a][i]}vv = 2.times.map {|i| beam[:b][i] - beam[:a][i]}rot_a = va[0] * vv[1] - va[1] * vv[0]rot_b = vb[0] * vv[1] - vb[1] * vv[0](rot_a == 0) || (rot_b == 0) || (rot_a > 0)^(rot_b > 0)endn = gets.to_ilines = n.times.map {ax,ay,bx,by = gets.split.map(&:to_i){a: [ax,ay], b: [bx,by]}}points = lines.each_with_object([]) do |line, points|points << line[:a]points << line[:b]endpoints.uniq!puts points.combination(2).map { |a,b|lines.select {|line| cross?({a: a, b: b},line)}.count}.max