結果
| 問題 | No.7 プライムナンバーゲーム |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-07-05 13:39:05 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 558 bytes |
| 記録 | |
| コンパイル時間 | 44 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,672 KB |
| 最終ジャッジ日時 | 2024-09-21 15:24:30 |
| 合計ジャッジ時間 | 4,375 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 7 WA * 10 |
コンパイルメッセージ
Syntax OK
ソースコード
require 'prime'
N = gets.to_i
# 0=Lose, 1=Win
dp = Array.new(N+1){ nil }
dp[0], dp[1] = -1, -1 # whileの条件式で邪魔だから値入れとく
dp[2] = 0
dp[3] = 0
primes = Prime.each(N).to_a
result = 1
while dp.include? nil
froms = []
dp.each_with_index do | d, i |
froms << i if d == (result ^ 1)
end
primes.each do | p |
froms.each do | f |
next if f+p > N
dp[f+p] = result unless dp[f+p]
end
end
result = result ^ 1 # bit反転
end
case dp[-1]
when 0
puts 'Lose'
when 1
puts 'Win'
else
puts 'Illega'
end