結果
| 問題 |
No.8041 なんとかのはなうらない
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-04-01 21:09:46 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 714 bytes |
| コンパイル時間 | 1,613 ms |
| コンパイル使用メモリ | 167,356 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-26 10:09:26 |
| 合計ジャッジ時間 | 1,837 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 13 |
ソースコード
#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
#define INF (1<<30)
#define INFLL (1ll<<60)
typedef pair<int, int> P;
typedef pair<int, P> E;
#define MOD (1000000007ll)
#define l_ength size
void mul_mod(ll& a, ll b){
a *= b;
a %= MOD;
}
void add_mod(ll& a, ll b){
a += b;
if(a>MOD){
a -= MOD;
}
}
int n;
bool done[1<<10],memo[1<<10];
bool solve(int p){
int i;
if(done[p]){
return memo[p];
}
done[p] = true;
if(!p){
memo[p] = ((n%2)?false:true);
return memo[p];
}
for(i=1; i<4; ++i){
if(p-i<0){
continue;
}
if(!solve(p-i)){
memo[p] = true;
break;
}
}
return memo[p];
}
int main(void){
cin >> n;
cout << ((solve(n)?"Yes":"No")) << endl;
return 0;
}