티스토리 뷰

 

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

 

15988번: 1, 2, 3 더하기 3

각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.

www.acmicpc.net

const fs = require('fs');
const [T,...n] = fs.readFileSync("./dev/stdin").toString().trim().split("\n").map(Number);
const answer = [];
const div = 1000000009;

const dp = new Array(1000001).fill(0);
dp[1] = 1;
dp[2] = 2;
dp[3] = 4;

for(let i = 4; i< 1000001; i++){
  dp[i] = (dp[i-3]+dp[i-2]+dp[i-1])%div;
}

n.forEach(v=>{
  answer.push(dp[v])
})

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