1.
처음 보고 정확한 식은 기억이 안 났지만, 고등학교 확통 시간에 배운 내용이 대략적으로 떠올랐다.
이 문제는 수학과 DP를 섞어 푸는 문제이다.
2.
기억이 안났던 식은 다음 식이였다.
$_{n}C_{r}=_{n-1}C_{r-1}+_{n-1}C_{r}$
이 공식은 파스칼의 삼각형에서도 구할 수 있다.
관련 내용은 아래 참고 블로그에서 공부하자.
3.
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[][] dp = new int[n + 1][n + 1];
for (int i = 0; i <= n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
dp[i][j] = 1;
} else {
dp[i][j] = (dp[i - 1][j - 1] + dp[i - 1][j]) % 10007;
}
}
}
System.out.println(dp[n][k]);
}
}
4.
2학기 때 확률 및 통계 배우는데 벌써 걱정이 되구먼..
[참고] http://bitly.kr/YRhUPByoJJo
'Algorithm' 카테고리의 다른 글
[Java] 백준 2133 : 타일 채우기 (0) | 2020.08.24 |
---|---|
[Java] 백준 2583 : 영역 구하기 (0) | 2020.08.18 |
[Java] 백준 2294 : 동전 2 (0) | 2020.08.17 |
[Java] 백준 11054 : 가장 긴 바이토닉 부분 수열 (0) | 2020.08.15 |
[Java] 백준 11048 : 이동하기 (0) | 2020.08.15 |