結果

問題 No.1579 New Type of Nim
ユーザー kyaneko999kyaneko999
提出日時 2021-07-02 21:35:35
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 62 ms / 2,000 ms
コード長 3,678 bytes
コンパイル時間 284 ms
コンパイル使用メモリ 82,460 KB
実行使用メモリ 65,024 KB
最終ジャッジ日時 2024-07-23 05:16:56
合計ジャッジ時間 3,261 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 57 ms
64,640 KB
testcase_01 AC 57 ms
64,768 KB
testcase_02 AC 62 ms
64,640 KB
testcase_03 AC 58 ms
64,896 KB
testcase_04 AC 56 ms
64,768 KB
testcase_05 AC 57 ms
65,024 KB
testcase_06 AC 56 ms
64,896 KB
testcase_07 AC 57 ms
64,512 KB
testcase_08 AC 60 ms
64,896 KB
testcase_09 AC 56 ms
64,640 KB
testcase_10 AC 62 ms
64,384 KB
testcase_11 AC 57 ms
64,896 KB
testcase_12 AC 56 ms
64,384 KB
testcase_13 AC 58 ms
64,896 KB
testcase_14 AC 60 ms
65,024 KB
testcase_15 AC 56 ms
64,768 KB
testcase_16 AC 56 ms
64,640 KB
testcase_17 AC 57 ms
64,384 KB
testcase_18 AC 59 ms
64,768 KB
testcase_19 AC 59 ms
64,652 KB
testcase_20 AC 57 ms
64,384 KB
testcase_21 AC 57 ms
64,512 KB
testcase_22 AC 60 ms
65,024 KB
testcase_23 AC 59 ms
64,640 KB
testcase_24 AC 57 ms
64,640 KB
testcase_25 AC 58 ms
64,512 KB
testcase_26 AC 57 ms
64,768 KB
testcase_27 AC 61 ms
64,512 KB
testcase_28 AC 58 ms
64,768 KB
testcase_29 AC 56 ms
64,896 KB
testcase_30 AC 58 ms
64,384 KB
testcase_31 AC 58 ms
65,024 KB
testcase_32 AC 59 ms
64,768 KB
testcase_33 AC 58 ms
64,512 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from sys import exit, stdin
from collections import deque, defaultdict, Counter
from copy import deepcopy
from bisect import bisect_left, bisect_right, insort_left, insort_right
from heapq import heapify, heappop, heappush
from itertools import product, permutations, combinations, combinations_with_replacement
from functools import reduce
from math import gcd, sin, cos, tan, asin, acos, atan, atan2, degrees, radians, ceil, floor
from math import pi as PI
from random import randint
# from decimal import Decimal

sys.setrecursionlimit(500000)
INF = (1<<61)-1
EPS = 1e-10
MOD = 10**9+7
# MOD = 998244353

def input():
    return stdin.readline()[:-1]
def intput():
    return int(stdin.readline())
def minput():
    return stdin.readline()[:-1].split()
def linput():
    return stdin.readline()[:-1].split()
def mint():
    return map(int,stdin.readline().split())
def lint():
    return list(map(int,stdin.readline().split()))
def ilint():
    return int(stdin.readline()), list(map(int,stdin.readline().split()))
def lcm(x,y):
    return x*y//gcd(x,y)
def lgcd(l):
    return reduce(gcd,l)
def llcm(l):
    return reduce(lcm,l)
def powmod(n,i,mod=MOD):
    return pow(n,mod-1+i,mod) if i<0 else pow(n,i,mod)
def div2(x):
    return x.bit_length()
def div10(x):
    return len(str(x))-(x==0)
def popcount(x):
    return bin(x).count('1')
def digit(x,i,max_len=None):
    s = str(x)
    if max_len:
        i -= max_len-len(s)
    return int(s[i-1]) if i>0 else 0
def digitsum(x):
    ans = 0
    for i in range(div10(x)):
        ans += digit(x,i+1)
    return ans
def pf(x,mode='counter'):
    C = Counter()
    p = 2
    while x>1:
        k = 0
        while x%p==0:
            x //= p
            k += 1
        if k>0:
            C[p] += k
        p = p+2-(p==2) if p*p<x else x
    if mode=='counter':
        return C
    S = set([1])
    for k in C:
        T = deepcopy(S)
        for x in T:
            for i in range(1,C[k]+1):
                S.add(x*(k**i))
    if mode=='set':
        return S
    if mode=='list':
        return sorted(S)
def isprime(x):
    if x<2:
        return False
    return len(pf(x,'set'))==2
def matmul(A, B):
    # import numpy
    A1, A2 = A >> 15, A & (1 << 15) - 1
    B1, B2 = B >> 15, B & (1 << 15) - 1
    X = np.dot(A1, B1) % MOD
    Y = np.dot(A2, B2)
    Z = np.dot(A1 + A2, B1 + B2) - X - Y
    return ((X << 30) + (Z << 15) + Y) % MOD
def matpow(A, N):
    P = np.eye(A.shape[0], dtype=np.int64)
    while N:
        if N & 1:
            P = matmul(P, A)
        A = matmul(A, A)
        N >>= 1
    return P
def zash(S):
    lis = sorted(S)
    dic = {}
    for i,x in enumerate(lis):
        dic[x] = i
    return lis, dic
def pr(*x):
    print(*x, sep='', end='') if len(x) else print()
def lprint(l):
    for x in l: print(x)
def ston(c, c0='a'):
    return ord(c)-ord(c0)
def ntos(x, c0='a'):
    return chr(x+ord(c0))
def judge(x, l=['Yes', 'No']):
    print(l[0] if x else l[1])
def debug(*x, flag=1):
    if flag: print(*x)

######################################################

# N=10

# def mex(S):
#     for k in range(10000):
#         if k not in S:
#             return k

# dp=[[-1]*N for _ in range(N)]
# dp[0][0]=0
# for i in range(N):
#     for j in range(N):
#         if i==0 or j==0:
#             dp[i][j]=i+j
#             continue
#         S=set()
#         for ii in range(i):
#             if ii!=j:
#                 S.add(dp[ii][j])
#         for jj in range(j):
#             if jj!=i:
#                 S.add(dp[i][jj])
#         dp[i][j]=mex(S)
# lprint(dp)

a,b=mint()

if a==b and a%2:
    print('Q')
elif abs(a-b)==1 and min(a,b)%2:
    print('Q')
else:
    print('P')
0