티스토리 뷰

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

 

16395번: 파스칼의 삼각형

파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다. 단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다. N번째 행

www.acmicpc.net

파스칼 삼각형의 n행 k열에 있는 수는
dp[n-k+1][k]

조건식
dp[i][j] = dp[i - 1][j] + dp[i][j - 1];

초기값
dp[][1] = 1;
dp[1][] = 1;
const [n, k] = require('fs').readFileSync('./dev/stdin').toString().trim().split(' ').map(Number);

let dp = Array.from(Array(31), () => Array(31).fill(BigInt(0)));

for (let i = 1; i <= 30; i++) {
	dp[1][i] = BigInt(1);
}

for (let i = 1; i <= 30; i++) {
	dp[i][1] = BigInt(1);
}

for (let i = 2; i <= 30; i++) {
	for (let j = 2; j <= 30; j++) {
		dp[i][j] = dp[i - 1][j] + dp[i][j - 1];
	}
}

console.log(dp[n - k + 1][k].toString());
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함