結果
| 問題 |
No.1579 New Type of Nim
|
| コンテスト | |
| ユーザー |
momoyuu
|
| 提出日時 | 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";
}
}
momoyuu