본문 바로가기

BOJ/다이나믹 프로그래밍

BOJ : 11050 이항계수1 (파이썬)

728x90

소스코드

import sys

n,m = map(int , sys.stdin.readline().split())

dp = [[0 for i in range(n+1)] for i in range(n+1)]

for i in range(n+1) :
    for j in range(n+1) :
        # 3C1 처리
        if j == 1 :
            dp[i][j] = i
        # 3C3 처리
        elif i == j :
            dp[i][j] = 1
        #3C0 처리
        elif j == 0 :
            dp[i][j] = 1
        else :
            dp[i][j] = dp[i-1][j-1] + dp[i-1][j]

print(dp[n][m])

.

풀이

파스칼의 삼각형을 보고 규칙성을 찾아서 dp 테이블을 작성했습니다.

 

문제

https://www.acmicpc.net/problem/11050

 

11050번: 이항 계수 1

첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\))

www.acmicpc.net

 

728x90

'BOJ > 다이나믹 프로그래밍' 카테고리의 다른 글

BOJ : 1010 다리놓기 (JS)  (2) 2022.12.21
BOJ : 11051 이항계수2 (파이썬)  (0) 2022.12.20
BOJ : 2775 부녀회장이될테야  (0) 2022.11.25
BOJ : 2579 계단오르기  (0) 2022.11.25
BOJ : 15989 1,2,3 더하기 4  (0) 2022.11.25