[파이썬] 백준 2758: 로또 (골드4)
2758번: 로또
선영이는 매주 엄청난 돈을 로또에 투자한다. 선영이가 하는 로또는 1부터 m까지 숫자 중에 n개의 수를 고르는 로또이다. 이렇게 열심히 로또를 하는데, 아직까지 한 번도 당첨되지 않은 이유는
www.acmicpc.net
문제
풀이
0. 방향성 생각
- 2차원 DP : dp[n번째 자리가][m으로 끝나는 경우의 수]
1. 전체 코드
dp = [[0]*2001 for _ in range(11)]
dp[1] = [0]+[1]*2000
for n in range(1,10):
for x in range(2001):
if x//2:
dp[n+1][x] += sum(dp[n][:x//2+1])
for _ in range(int(input())):
n,m = map(int,input().split())
print(sum(dp[n][:m+1]))
코멘트
부분합쓰면 시간 더 줄일 수 있을듯
'Algorithm > Dynamic Programming' 카테고리의 다른 글
[파이썬] 백준 14550 : 마리오 파티 (골드5) (0) | 2023.10.22 |
---|---|
[파이썬] 백준 2193 : 이친수 (실버3) (0) | 2023.10.12 |
[파이썬] 백준 1577 : 도로의 개수 (골드5) (0) | 2023.09.29 |
[파이썬] 백준 2602 : 돌다리 건너기 (골드4) (0) | 2023.09.13 |
[파이썬] 백준 20303: 할로윈의 양아치 (골드3) (0) | 2023.09.07 |
[파이썬] 백준 2098 : 외판원 순회 (골드1) (0) | 2023.08.30 |
[파이썬] 백준 1103 : 게임 (골드2) (0) | 2023.08.29 |
댓글