結果
問題 |
No.7 プライムナンバーゲーム
|
ユーザー |
![]() |
提出日時 | 2020-11-16 18:28:38 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 168 ms / 5,000 ms |
コード長 | 1,034 bytes |
コンパイル時間 | 2,507 ms |
コンパイル使用メモリ | 75,880 KB |
実行使用メモリ | 42,028 KB |
最終ジャッジ日時 | 2024-10-01 16:40:01 |
合計ジャッジ時間 | 5,735 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); boolean[] isNotPrime = new boolean[n + 1]; ArrayList<Integer> primes = new ArrayList<>(); for (int i = 2; i <= n; i++) { if (!isNotPrime[i]) { primes.add(i); for (int j = 2; j * i <= n; j++) { isNotPrime[i * j] = true; } } } boolean[] isWin = new boolean[n + 1]; isWin[0] = true; isWin[1] = true; for (int i = 2; i <= n; i++) { for (int x : primes) { if (x > i) { break; } if (!isWin[i - x]) { isWin[i] = true; break; } } } if (isWin[n]) { System.out.println("Win"); } else { System.out.println("Lose"); } } }