結果
| 問題 |
No.199 星を描こう
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-04-29 00:34:08 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 104 ms / 2,000 ms |
| コード長 | 1,167 bytes |
| コンパイル時間 | 235 ms |
| コンパイル使用メモリ | 7,424 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-12-30 03:30:31 |
| 合計ジャッジ時間 | 4,204 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 25 |
コンパイルメッセージ
Syntax OK
ソースコード
# http://yukicoder.me/problems/433
# No.199 星を描こう
class Point
attr_accessor :x, :y
def initialize(x_, y_)
self.x = x_
self.y = y_
end
end
def cross(a, b)
(a.x * b.y - a.y*b.x)
end
def cross2(a, b, o)
cross(Point.new(a.x-o.x, a.y-o.y), Point.new(b.x-o.x, b.y-o.y))
end
points = []
N = 5
N.times{
x, y = gets.split.map(&:to_i)
points << Point.new(x,y)
}
allok = true
(0...N).each{|i|
#puts "======= i=#{i} ========="
o = points[i]
ok = false
(0...N).each{|j|
#puts " ======= j=#{j} ========="
if j == i
next
end
a = points[j]
failed = false
(0...N).each{|k|
#puts " ======= k=#{k} ========="
if(k==j || k==i)
next
end
b = points[k]
if cross2(a, b, o)>0
#puts "cross2 ok"
else
failed = true
#puts "cross2 ng"
end
}
if failed == false
ok = true
#puts "ok=true"
end
}
allok &&= ok
}
if allok
puts "YES"
else
puts "NO"
end