結果

問題 No.321 (P,Q)-サンタと街の子供たち
ユーザー kura07
提出日時 2015-12-14 23:21:32
言語 Ruby
(3.4.1)
結果
AC  
実行時間 228 ms / 2,000 ms
コード長 526 bytes
コンパイル時間 49 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,544 KB
最終ジャッジ日時 2024-07-06 22:00:14
合計ジャッジ時間 7,557 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 41
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

p, q = gets.split.map(&:to_i).map(&:abs)

type = nil
if [p,q]==[0,0]
	type = -1
else
	gcd = p.gcd(q)
	p /= gcd
	q /= gcd
	type = p*q==0 ? 0 : [p,q]==[1,1] ? 1 : p.odd?&&q.odd? ? 2 : 3
end

count = 0
gets.to_i.times{
	x, y = gets.split.map(&:to_i).map(&:abs)
	
	if type==-1
		count += 1 if [x,y]==[0,0]
	else
		next if x % gcd != 0 || y % gcd != 0
		x /= gcd; y /= gcd

		case type
		when 0
			count += 1
		when 1
			count += 1 if (x+y).even?
		when 2
			count += 1 if (x+y).even?
		when 3
			count += 1
		end
	end
}
puts count
0