結果

問題 No.199 星を描こう
ユーザー mai
提出日時 2016-07-19 23:21:45
言語 Ruby
(3.4.1)
結果
AC  
実行時間 123 ms / 2,000 ms
コード長 497 bytes
コンパイル時間 204 ms
コンパイル使用メモリ 7,552 KB
実行使用メモリ 13,056 KB
最終ジャッジ日時 2024-12-30 03:50:27
合計ジャッジ時間 5,027 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

# (´;ω;`)

require 'matrix'

def cross(u,v)
    return v[0]*u[1]-u[0]*v[1];
end

def calc(v)
    5.times{|i|
        d1=cross(v[(i+1)%5]-v[i],v[(i+2)%5]-v[i])
        d2=cross(v[(i+1)%5]-v[i],v[(i+3)%5]-v[i])
        d3=cross(v[(i+1)%5]-v[i],v[(i+4)%5]-v[i])
        return false if d1*d2>=0 || d2*d3>=0
    }
    return true
end

point=[]
5.times{
    point << Vector.elements(gets.split.map(&:to_i))
}


point.permutation{|v|
    if calc(v)
        puts "YES";exit
    end
}	

puts "NO"
0