이 문제를 짰는데 채점서버에 내면 오답이 떠서 질문드려봅니다.
#define MAX 1001
#define MIN(a,b) ((a)<(b)?(a):(b))
int binCoeff(int n, int k) // n은 최대 1000만큼 들어올 수 있고, k는 최대 n만큼 들어올 수 있음.
{
int i, j;
int B[MAX][MAX];
for (i = 0; i <= n; i++)
{
for (j = 0; j <= MIN(i, k); j++)
{
if (j == 0 || j == i)
{
B[i][j] = 1;
}
else
B[i][j] = B[i - 1][j - 1] + B[i - 1][j];
}
}
return B[n][k];
}
int main()
{
int N, K;
int result = 0;
scanf("%d %d", &N, &K); // 위에서 주석처리 했듯이 N은 최대 1000, K는 최대 N
while (t--)
{
scanf("%d %d", &N, &K);
result = binCoeff(N, K);
result %= 10007;
printf("%dn", result);
}
}
혹시 코드에 문제가 있나요? 주어진 정답은 다 뜨는데..