kunkunwoo@blog:~$ 거누권의 생각깜지

백준 11051번 _ 이항 계수2

· 배운 것 · 2분 읽기

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

11051번: 이항 계수 2

풀이방법

공식
공식

이거 그대~로 풀고 메모제이션 사용하면 정답


전체코드

#include <iostream>

#define DIV_NUM 10007

using namespace std;
long long nCk[1001][1001];
int N, K;

void nCkInit()
{
	for (int i = 0; i <= N; i++)
		for (int j = 0; j <= K; j++)
			nCk[i][j] = -1;
}

long long nCkgogo(int n, int k)
{
	long long& ret = nCk[n][k];
	if (ret != -1) return ret;
	if (k == 0 || k == n)
		return ret =1;
	return ret = (nCkgogo(n -1, k) % DIV_NUM + nCkgogo(n - 1, k - 1) % DIV_NUM) % DIV_NUM;
}

int main()
{
	cin >> N >> K;
	nCkInit();
	cout << nCkgogo(N, K);
	return 0;
}

후기

분명히 틀린게없는데 계속 틀리길래 욕나올뻔 했는데 나누는 숫자를 10007인데 100007로 보고 잘못써서 틀린거였다.....ㅋㅋㅋㅋㅋ.. 눈에 이상이 있는듯