티스토리 뷰

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

 

4811번: 알약

입력은 최대 1000개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄이며, 병에 들어있는 약의 개수 N ≤ 30 가 주어진다. 입력의 마지막 줄에는 0이 하나 주어진다.

www.acmicpc.net

const fs = require("fs");
const pill = fs
  .readFileSync("./dev/stdin")
  .toString()
  .trim()
  .split("\n")
  .map(Number);
pill.pop();

const MAX = Math.max(...pill);
const dp = new Array(MAX + 1).fill(0);

dp[0] = 1;
dp[1] = 1;
dp[2] = 2;

for (let i = 3; i <= MAX; i++) {
  for (let j = 0; j < i; j++) {
    dp[i] += dp[j] * dp[i - j - 1];
  }
}

const answer = [];
pill.forEach((v) => {
  answer.push(dp[v]);
});

console.log(answer.join("\n"));
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/06   »
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
29 30
글 보관함