class Solution:
def superEggDrop(self, K, N):
'''状态转移方程:dp[k][m] = dp[k - 1][m - 1] + dp[k][m - 1] + 1
dp[k][m]的含义是k个鸡蛋,移动m次最多能确定多少层
时间复杂度:O(k)
'''
dp = [0] * (K + 1)
m = 0
while dp[K] < N:
m += 1
for k in range(K, 0, -1):
# print(m, k)
dp[k] = dp[k - 1] + dp[k] + 1
return m