[白俊]2225:合分解(Python)


質問する📖



に答える🙏

  • dp[k][n]2次元dpテーブルを生成する.
  • kが1、2、3の場合、nの値とすることができる場合は、以下のように簡単に整理する.
  • 以下の方式によりdp[i][j]表の左上隅に加えた値
    つまり、dp[i][j]=(dp[i][j-1]+dp[i-1][j])という点火式を求めることができます.
  • コード#コード#💻

    n, k = map(int,input().split())
    dp = [[0] * 201 for i in range(201)]
    
    for i in range(1, 201):
        dp[1][i] = 1
        dp[2][i] = i+1
    
    for i in range(2, 201):
        dp[i][1] = i
        for j in range(2, 201):
            dp[i][j]=(dp[i][j-1]+dp[i-1][j])%1000000000
    
    print(dp[k][n])