(백준 알고리즘 문제풀이) 11051번 이항 계수2
by 줌코딩
문제
문제 접근
- 나눗셈에 대한 모듈러 연산은
(a/b)%k != (a%k)/(b%k)
으로 이항계수에 모듈러를 적용하기 쉽지 않다.- 유클리드 호제법, 페르마의 소정리 등을 보다가 결국 파스칼 삼각형을 알게 되었다.
- 다음 이항 계수 문제 접근 링크를 보고 이항계수를 dp를 이용해서 구하는 방법을 알 수 있었다.
코드
#include <cstdio>
int n, k, c[1001][1001];
int main(){
scanf("%d %d", &n, &k);
c[0][0] = 1;
for(int i = 1; i <= n; i++){
for(int j = 0; j <= k; j++){
if(j-1 < 0)c[i][j] = c[i-1][j];
c[i][j] = (c[i-1][j] + c[i-1][j-1])%10007;
}
}
printf("%d", c[n][k]);
}
느낀점
- 디피 굳!!
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Subscribe via RSS