結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
|
提出日時 | 2020-04-17 20:19:56 |
言語 | Go (1.23.4) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 828 bytes |
コンパイル時間 | 10,297 ms |
コンパイル使用メモリ | 231,100 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-01 16:32:46 |
合計ジャッジ時間 | 10,920 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
package main import ( "bufio" "fmt" "os" "strconv" ) var sc = bufio.NewScanner(os.Stdin) func Scanner() string { sc.Scan() return sc.Text() } func main() { buf := make([]byte, 0) sc.Buffer(buf, 100000007) sc.Split(bufio.ScanWords) n, _ := strconv.Atoi(Scanner()) p := prime(n) dp := make([]int, n+1) dp[0] = 1 dp[1] = 1 for i := 2; i < n+1; i++ { for _, j := range p { if i-j < 0 { break } if dp[i-j] == 0 { dp[i] = 1 break } } } ans := "Lose" if dp[n] == 1 { ans = "Win" } fmt.Println(ans) } func prime(n int) []int { notprime := make([]bool, n+1) prime := make([]int, 0) notprime[0] = true notprime[1] = true for i := 2; i <= n; i++ { if !notprime[i] { prime = append(prime, i) } for j := 2 * i; j <= n; j += i { notprime[j] = true } } return prime }