-문제: https://www.acmicpc.net/problem/11057
전에 스스로 푼 문제였는데 이번에도 스스로 푼 문제였다
점화식 구하기 위해서 n==1, n==2, n==3일 때 구체적은 상황을 작성해봤다.
그랬더니 dp[i][j]=dp[i][j-1]-dp[i-1][j-1]이라는 점화식을 구한후 코드로 옮겼다
-정답풀이
정답 제출 전에 잔잔바리 실수가 있었다
- for i in range(2,n+1) 인데, for i in range(1,n+1)로해서 틀렸고
- 점화식 그대로 안 옮기고 dp[i][j-1]+dp[i-1][j-1]로 작성해서 틀렸고
- 출력 할 때 dp[-1][-1]로 출력해서 틀렸고,
- 기껏 sum(dp[-1]) 출력했는데 10007로 나눈 나머지로 출력해야 됐어서 틀렸었다;;;
n=int(input())
dp=[[0]*10 for _ in range(n+1)]
for i in range(10):
dp[1][i]=1
for i in range(2,n+1):
for j in range(10):
if j==0:
dp[i][j]=sum(dp[i-1])
else:
dp[i][j]=dp[i][j-1]-dp[i-1][j-1]
print(sum(dp[-1])%10007)
'백준 > DP' 카테고리의 다른 글
[dp/백준] 12865번: 평범한 배낭 (0) | 2022.06.10 |
---|---|
[dp/백준] 2293번: 동전1 (0) | 2022.06.07 |
[dp/백준] 9251번: LCS (0) | 2022.06.07 |
[dp/백준] 9465번: 스티커 (0) | 2022.06.06 |
[dp/백준] 14501번: 퇴사 (0) | 2022.06.06 |