結果
問題 | No.7 プライムナンバーゲーム |
ユーザー |
|
提出日時 | 2022-05-04 13:22:01 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 11 ms / 5,000 ms |
コード長 | 629 bytes |
コンパイル時間 | 1,591 ms |
コンパイル使用メモリ | 171,132 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-01 16:46:47 |
合計ジャッジ時間 | 2,419 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main(){ vector<int> P(0); for(int i=2;i<=10000;i++){ bool ok = true; for(int j=2;j*j<=i;j++){ if(i%j == 0){ ok = false; break; } } if(ok) P.push_back(i); } vector<int> Win(10001,0); Win[0] = 1; Win[1] = 1; for(int i=2;i<=10000;i++){ bool LoEx = false; for(int j=0;j<P.size();j++){ int t = i-P[j]; if(t < 0) break; if(Win[t] == -1) LoEx = true; } if(LoEx) Win[i] = 1; else Win[i] = -1; } int N; cin >> N; if(Win[N] == 1) cout << "Win" << endl; else cout << "Lose" << endl; }