๐Ÿ”’Algorithm

๋ฐฑ์ค€[node.js] > 11727๋ฒˆ 2xn ํƒ€์ผ๋ง 2

devWarrior 2024. 12. 15. 01:10

๋ฌธ์ œ

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

 

ํ’€์ด

๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ํ™”์‹์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

dp[i] = dp[i-1] + dp[i-1]*2 

 

dp[i] ๋Š” 2xI ์ง์‚ฌ๊ฐํ˜•์˜ ํƒ€์ผ์„ ์ฑ„์šฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

 

ํ•ด๋‹น ์ ํ™”์‹๋งŒ ๋„์ถœํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋‹ค.

 

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim();

let N = Number(input);

let dp = Array(N + 1).fill(0);

dp[1] = 1;
dp[2] = 3;

for (let i = 3; i <= N; ++i) {
    dp[i] = (dp[i - 1] + dp[i - 2] * 2) % 10007;
}

console.log(dp[N]);