結果
問題 | No.1579 New Type of Nim |
ユーザー |
|
提出日時 | 2021-07-02 22:32:59 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 49 ms / 2,000 ms |
コード長 | 976 bytes |
コンパイル時間 | 337 ms |
コンパイル使用メモリ | 82,436 KB |
実行使用メモリ | 63,316 KB |
最終ジャッジ日時 | 2024-07-23 05:22:01 |
合計ジャッジ時間 | 2,929 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 31 |
ソースコード
import sys input = lambda : sys.stdin.readline().rstrip() sys.setrecursionlimit(2*10**5+10) write = lambda x: sys.stdout.write(x+"\n") debug = lambda x: sys.stderr.write(x+"\n") writef = lambda x: print("{:.12f}".format(x)) a,b = list(map(int, input().split())) n = 20 dp = [[0]*n for _ in range(n)] for i in range(n): dp[i][0] = dp[0][i] = 1 for i in range(n): for j in range(n): if i==j==0: continue if i==0 or j==0: continue ok = 0 for k in range(1,i+1): if i-k==j: continue if dp[i-k][j]==0: ok = 1 for k in range(1,j+1): if j-k==i: continue if dp[i][j-k]==0: ok = 1 dp[i][j] = ok if a==b: if a%2==0: ans = "P" else: ans = "Q" elif abs(a-b)==1: v = min(a,b) if v%2==0: ans = "P" else: ans = "Q" else: ans = "P" print(ans)