Skip to content

Conversation

@Seol-JY
Copy link
Contributor

@Seol-JY Seol-JY commented Feb 3, 2025

🧷 문제 링크

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

🧭 풀이 시간

60분

👀 체감 난이도

✏️ 문제 설명

선영이는 매주 엄청난 돈을 로또에 투자한다. 선영이가 하는 로또는 1부터 m까지 숫자 중에 n개의 수를 고르는 로또이다.

이렇게 열심히 로또를 하는데, 아직까지 한 번도 당첨되지 않은 이유는 수를 고를 때 각 숫자는 이전에 고른 수보다 적어도 2배가 되도록 고르기 때문이다.

선영이는 돈이 엄청나게 많기 때문에, 수를 고르는 방법의 수 만큼 로또를 구매하며, 같은 방법으로 2장이상 구매하지 않는다.

n과 m이 주어졌을 때, 선영이가 구매하는 로또의 개수를 출력하는 프로그램을 작성하시오.

🔍 풀이 방법

전형적인 DP 문제, 적어도 2배가 되어야 한다고 했으므로, dp[i][j] = dp[i][j-1] + dp[i-1][j/2] 라는 점화식을 통해 해결할 수 있다.

⏳ 회고

DP는 항상 점화식 세우는게 제일 어려운 것 같다. 머리로 안될 것 같으면 손으로 특정 케이스까지 모조리 써가며(단, 정확하게) 경향 확인하는게 나을듯...
그리고 Long으로 안하면 오버플로우 나서 틀리는데, 이거 조심해야겠다.. n과 m 크기 조건만 보고선 초과하는지 알 수 없을듯

@Seol-JY Seol-JY added the success 👍 해설을 보지 않고 풀었을 때 label Feb 3, 2025
@ShinHeeEul ShinHeeEul merged commit d39e840 into main Feb 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

success 👍 해설을 보지 않고 풀었을 때

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants