Algorithm/DP

BOJ#11051 이항 계수 2

밤이2209 2017. 9. 22. 15:37

BOJ#11051 이항 계수 2



* 문제

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




* 나의 코드

https://github.com/stack07142/BOJ/blob/master/BOJ%2311051/src/Main.java


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {

static final int MOD = 10007;
static int[][] dp = new int[1001][1001];

public static void main(String[] args) throws IOException {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());

int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());

System.out.println(solve(N, K));
}

static int solve(int N, int K) {

// 고를 원소가 없는 경우, 모든 원소를 다 고르는 경우
if (K == 0 || N == K) return 1;

if (dp[N][K] > 0) return dp[N][K];

dp[N][K] = solve(N - 1, K - 1) + solve(N - 1, K);

return dp[N][K] % MOD;
}
}


'Algorithm > DP' 카테고리의 다른 글

BOJ#10164 격자상의 경로  (0) 2017.09.26
BOJ#1904 01타일  (0) 2017.09.25
BOJ#1915 가장 큰 정사각형  (0) 2017.09.22
BOJ#1309 동물원  (0) 2017.09.15
BOJ#2096 내려가기  (0) 2017.09.12