import java.math.BigInteger;
import java.util.Scanner;
public class Main {
static int n, m;
static BigInteger[][] arr = new BigInteger[105][105];
static BigInteger combination(int n, int m) {
if (arr[n][m] != null)
return arr[n][m];
if (m == 0 || m == n)
return BigInteger.ONE;
return arr[n][m] = combination(n - 1, m - 1).add(combination(n - 1, m));
}
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
n = kb.nextInt();
m = kb.nextInt();
System.out.println(combination(n, m));
}
}
long으로 썼는데 4퍼센트에서 틀렸다고 나오는 분들은 BigInteger로 바꾸시는 걸 추천합니다.
'공부기록 > 백준' 카테고리의 다른 글
[백준] 9996번 한국이 그리울 땐 서버에 접속하지 (0) | 2024.02.04 |
---|---|
[백준] 11725번 트리의 부모 찾기 (0) | 2024.02.03 |
[백준] 2563번 색종이 (0) | 2024.01.31 |
[백준] 11724번 연결요소의 개수 구하기 (0) | 2024.01.17 |
[백준] 1789번 수들의 합 (1) | 2024.01.15 |