File tree Expand file tree Collapse file tree 2 files changed +59
-0
lines changed
weekly/week08/BOJ_15989_1,2,3더하기4 Expand file tree Collapse file tree 2 files changed +59
-0
lines changed Original file line number Diff line number Diff line change 1+ import java .util .*;
2+ import java .lang .*;
3+ import java .io .*;
4+
5+ class Main {
6+ public static void main (String [] args ) throws IOException {
7+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
8+
9+ //dp
10+ long [] dp = new long [1000001 ];
11+ dp [1 ] = 1 ;
12+ dp [2 ] = 2 ;
13+ dp [3 ] = 4 ;
14+ for (int i = 4 ; i <= 1000000 ; i ++) {
15+ dp [i ] = (dp [i - 3 ] + dp [i - 2 ] + dp [i - 1 ]) % 1_000_000_009 ;
16+ }
17+
18+ //정답 출력
19+ StringBuilder answer = new StringBuilder ();
20+ int T = Integer .parseInt (br .readLine ());
21+ for (int i = 0 ; i < T ; i ++) {
22+ int t = Integer .parseInt (br .readLine ());
23+ answer .append (dp [t ] % 1_000_000_009 ).append ("\n " );
24+ }
25+ System .out .println (answer );
26+ }
27+ }
Original file line number Diff line number Diff line change 1+ import java .util .*;
2+ import java .lang .*;
3+ import java .io .*;
4+
5+ class BOJ15989 {
6+ public static void main (String [] args ) throws IOException {
7+ BufferedReader br = new BufferedReader (new InputStreamReader (System .in ));
8+
9+ //dp[i][j] = i를 만들 때 마지막 숫자가 j이고, 오름차순인 방법의 수
10+ int [][] dp = new int [10001 ][4 ];
11+ dp [1 ][1 ] = 1 ; //1
12+ dp [2 ][1 ] = 1 ; //1,1
13+ dp [2 ][2 ] = 1 ; //2
14+ dp [3 ][1 ] = 1 ; //1,1,1
15+ dp [3 ][2 ] = 1 ; //1,2
16+ dp [3 ][3 ] = 1 ; //3
17+ for (int i = 4 ; i <= 10000 ; i ++) {
18+ dp [i ][1 ] = dp [i -1 ][1 ];
19+ dp [i ][2 ] = dp [i -2 ][1 ] + dp [i -2 ][2 ];
20+ dp [i ][3 ] = dp [i -3 ][1 ] + dp [i -3 ][2 ] + dp [i -3 ][3 ];
21+ }
22+
23+ //정답 출력
24+ StringBuilder answer = new StringBuilder ();
25+ int T = Integer .parseInt (br .readLine ());
26+ for (int i = 0 ; i < T ; i ++) {
27+ int t = Integer .parseInt (br .readLine ());
28+ answer .append (dp [t ][1 ] + dp [t ][2 ] + dp [t ][3 ]).append ("\n " );
29+ }
30+ System .out .println (answer );
31+ }
32+ }
You can’t perform that action at this time.
0 commit comments