結果
問題 | No.1579 New Type of Nim |
ユーザー |
![]() |
提出日時 | 2024-08-07 22:08:18 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 2,000 ms |
コード長 | 1,493 bytes |
コンパイル時間 | 1,054 ms |
コンパイル使用メモリ | 91,228 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-08-07 22:08:21 |
合計ジャッジ時間 | 2,645 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 |
ソースコード
#include<iostream>#include<vector>#include<algorithm>using namespace std;using ll = long long;int main(){cin.tie(nullptr);ios::sync_with_stdio(false);// vector<vector<int>> vis(100,vector<int>(100,0)),memo(100,vector<int>(100,0));// auto calc = [&](auto calc,int a,int b) -> int {// if(vis[a][b]++) return memo[a][b];// if(a==0||b==0) {// return memo[a][b] = 1;// }// bool can = false;// for(int i = 1;i<=a;i++){// int na = a - i;// if(na==b){// int g = calc(calc,na,b);// if(g==1) can = true;// }else{// int g = calc(calc,na,b);// if(g==0) can = true;// }// }// for(int i = 1;i<=b;i++){// int nb = b - i;// int g = calc(calc,a,nb);// if(nb==a){// if(g==1) can = true;// }else{// if(g==0) can = true;// }// }// if(can) return memo[a][b] = 1;// return memo[a][b] = 0;// };// for(int i = 1;i<=10;i++){// for(int j = i;j<=10;j++){// int g = calc(calc,i,j);// if(g==1) cout<<i<<" "<<j<<" P\n";// else cout<<i<<" "<<j<<" Q\n";// }// }ll a,b;cin>>a>>b;if(a>b) swap(a,b);if(a%2==1&&b<=a+1){cout<<"Q\n";}else{cout<<"P\n";}}