結果
問題 | No.7 プライムナンバーゲーム |
ユーザー | Elphelt |
提出日時 | 2016-06-21 09:34:36 |
言語 | Java21 (openjdk 21) |
結果 |
AC
|
実行時間 | 163 ms / 5,000 ms |
コード長 | 2,659 bytes |
コンパイル時間 | 2,166 ms |
コンパイル使用メモリ | 78,884 KB |
実行使用メモリ | 39,720 KB |
最終ジャッジ日時 | 2024-10-01 15:47:11 |
合計ジャッジ時間 | 4,634 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 49 ms
36,728 KB |
testcase_01 | AC | 48 ms
37,088 KB |
testcase_02 | AC | 163 ms
39,284 KB |
testcase_03 | AC | 92 ms
39,412 KB |
testcase_04 | AC | 75 ms
38,120 KB |
testcase_05 | AC | 76 ms
38,512 KB |
testcase_06 | AC | 103 ms
39,648 KB |
testcase_07 | AC | 95 ms
39,464 KB |
testcase_08 | AC | 92 ms
39,608 KB |
testcase_09 | AC | 118 ms
39,416 KB |
testcase_10 | AC | 51 ms
37,000 KB |
testcase_11 | AC | 96 ms
39,516 KB |
testcase_12 | AC | 138 ms
39,388 KB |
testcase_13 | AC | 145 ms
39,184 KB |
testcase_14 | AC | 161 ms
39,456 KB |
testcase_15 | AC | 158 ms
39,368 KB |
testcase_16 | AC | 158 ms
39,720 KB |
ソースコード
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws IOException { proconScan proScan = new proconScan(" "); Integer A = proScan.scanInteger1(); List<Integer> primeNum = new ArrayList<>(); primeNum.add(2); primeNum.add(3); Integer i, j; boolean flag = false; for (i = 5; i <= A; i++) { for (j = 2; j * j <= i; j++) { if (i % j == 0) { flag = false; break; } flag = true; } if (flag) { primeNum.add(i); } } boolean[] dp = new boolean[A + 2]; dp[0] = true; dp[1] = true; for (i = 2; i <= A; i++) { for (Integer buf : primeNum) { if (i - buf < 0) { break; } dp[i] |= !dp[i - buf]; } } System.out.print(dp[A] ? "Win" : "Lose"); proScan.proconEnd(); } } class proconScan { private BufferedReader br; private String inLine; private String[] inString; private Integer idx; private String splitChar; public proconScan() { br = new BufferedReader(new InputStreamReader(System.in)); idx = 0; splitChar = " "; } public proconScan(String split) { br = new BufferedReader(new InputStreamReader(System.in)); idx = 0; splitChar = split; } public void proconEnd() throws IOException { // TODO 自動生成されたメソッド・スタブ br.close(); } public String scan() throws IOException { idx = 0; inLine = br.readLine(); inString = inLine.split(splitChar, 0); return inLine; } public Integer scanInteger1() throws IOException { scan(); return Integer.parseInt(inString[0]); } public String backLine() { return inLine; } public String nextString() { return inString[idx++]; } public String[] getString() { return inString; } public Integer nextInteger() { Integer num; try { num = Integer.parseInt(inString[idx++]); } catch (NumberFormatException e) { num = null;// TODO: handle exception } return num; } public Integer[] getInteger() { Integer[] num = new Integer[this.getLen()]; for (int i = 0; i < this.getLen(); i++) { num[i] = Integer.parseInt(inString[i]); } return num; } public Float nextFloat() { Float num; try { num = Float.parseFloat(inString[idx++]); } catch (NumberFormatException e) { num = null;// TODO: handle exception } return num; } public Float[] getFloat() { Float[] num = new Float[this.getLen()]; for (int i = 0; i < this.getLen(); i++) { num[i] = Float.parseFloat(inString[i]); } return num; } public Integer getLen() { return inString.length; } }