結果
| 問題 | 
                            No.199 星を描こう
                             | 
                    
| コンテスト | |
| ユーザー | 
                             | 
                    
| 提出日時 | 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
ソースコード
# (´;ω;`)
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"