01
28

 

 

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

 

15988๋ฒˆ: 1, 2, 3 ๋”ํ•˜๊ธฐ 3

๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋งˆ๋‹ค, n์„ 1, 2, 3์˜ ํ•ฉ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ 1,000,000,009๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

www.acmicpc.net

import java.util.*;
import java.io.*;

public class Main {

    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int tc = sc.nextInt();
    	int[] dp = new int[1000002];
    	dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4;             //111 12 21 3

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

        for(int t=0; t<tc;t++) {
        	int n = sc.nextInt();
            
            System.out.println(dp[n]);
        }
    }

 

 


์˜ค๋‹ต๋…ธํŠธ(ํ‘ธ๋Š” ๋™์•ˆ ์‚ฌ๊ณ ๊ณผ์ • ๋ฐ ๊ฐœ์„ ์ )

๊ธฐ๋ณธ DP์œ ํ˜•์ด๋ผ์„œ ๋กœ์ง ๊ตฌ์„ฑํ•˜๋Š” ํ•˜๋Š” ๊ฑด ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค. 

i๋ฒˆ์งธ ์œ„์น˜์—์„œ ๊ฒฝ์šฐ์˜์ˆ˜๊ฐ€ ์ด์ „ ํŒจํ„ด์—์„œ 1,2,3์˜ ๊ฒฝ์šฐ๊ฐ€ ์ถ”๊ฐ€๋˜๋‹ˆ๊นŒ

i = i-1 + i-2 + i-3 ์ธ๊ฒŒ ์ž์—ฐ์Šค๋Ÿฝ๋‹ค.

ํ‹€๋ฆฐ์ด์œ ๋Š” ๋ฒ”์œ„ ๊ณ„์‚ฐ์„ ์ž˜ ๋ชปํ•ด์„œ์ธ๋ฐ, ๋‚˜๋จธ์ง€๋กœ 10์–ต 9๋ฅผ ์ฒ˜๋ฆฌํ•˜๋‹ˆ๊นŒ ๋‹น์—ฐํžˆ ๋  ์ค„ ์•Œ์•˜์ง€๋งŒ. ์ € ๊ด„ํ˜ธ๋กœ ๋ฌถ์ธ ๊ฒƒ๋„ INT์—ฐ์‚ฐ์œผ๋กœ ๋ผ์„œ INT๊ฐ€ ์—ฐ์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๊ฐ€๊ธฐ ๋•Œ๋ฌธ์— long์œผ๋กœ ์„ ์–ธํ•ด์„œ ํ•ด๋‹น ๋ฒ”์œ„๋ฅผ ๋Š˜๋ ค์ค˜์•ผํ–ˆ๋‹ค.

 


์ •๋‹ต์ฝ”๋“œ

import java.util.*;
import java.io.*;

public class Main {

    public static void main(String[] args) throws Exception {
        Scanner sc = new Scanner(System.in);
        int tc = sc.nextInt();
    	long[] dp = new long[1000_002];
    	dp[1] = 1;
        dp[2] = 2;
        dp[3] = 4; //111 12 21 3

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

        for(int t=0; t<tc;t++) {
        	int n = sc.nextInt();
            
            System.out.println(dp[n]);
        }
    }
}

 

๋„์›€์ด ๋๋‹ค๋ฉด ๋Œ“๊ธ€์ด๋‚˜ ๊ณต๊ฐ ๋ฒ„ํŠผ ํ•œ ๋ฒˆ์”ฉ ๋ˆ„๋ฅด๊ณ  ๊ฐ€์ฃผ์„ธ์š”! ๋กœ๊ทธ์ธ ์•ˆํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค ^_^

 

๋ฐ˜์‘ํ˜•
COMMENT