本地AC 提交RE
查看原帖
本地AC 提交RE
402402
openwld楼主2023/12/13 19:03

rt,Python,求调

i = input().split(' ')
n = int(i[0])
k = int(i[1])
if k == 1:
    if n == 1:
        print(1)
    else:
        print('Poor E.S.!')
elif k == 2:
    if n <= 2:
        print(1)
    else:
        print(2**(n-2))
else:
    w,h,r = 1,n,0
    while w < 2*k and (h > 0 or (h == 0 and r > 0)):
        cnt = w*h+r-k
        h = cnt // w
        r = cnt - h*w
        w += 1
        if r != 0:
            r += 1
    while h > 0 or (h == 0 and r > 0):
        if r >= 2:
            m = (r-2) // k-1
            r = r - m*(k-1)
            w += m
        h -= 1
        w += 1
        r += w-k
    print(w-1)

exit(0)
2023/12/13 19:03
加载中...