class Solution:
def champagneTower(self, poured: int, query_row: int, query_glass: int) -> float:
dp = [[0] * 100 for _ in range(100)]
dp[0][0] = poured
## 理想化问题
for i in range(query_row):
for j in range(i+1):
if dp[i][j] > 1:
dp[i+1][j] += (dp[i][j] - 1)/2
dp[i+1][j+1] += (dp[i][j] - 1)/2
return min(dp[query_row][query_glass],1.0)