티스토리 뷰
//알고리즘
1. 재귀로 최대가 될 수 있는 i값과 그때의 결과값을 찾음.
2. 배열을 구해서 직접 for문으로 값을 저장 시킴.
import java.util.Scanner;
public class 수이어가기_2635 {
static int T, ans, N;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
for (int i = T; i >= 0; i--) {
cal(1,T,i,i);
}
int[] arr = new int[ans];
cal(1,T,N,arr);
System.out.println(ans);
int num = T;
for (int i = 0; i < arr.length; i++) {
num -= arr[i];
arr[i] = num;
System.out.print(arr[i] + " ");
}
System.out.println();
}
private static void cal(int idx, int t, int i, int[] arr) {
if (i < 0) {
return;
}
arr[idx] = t-i;
cal(idx + 1, i, t - i,arr);
}
private static void cal(int idx, int t, int i,int start) {
if (i < 0) {
if(ans<idx) {
ans = idx;
N = start;
}
return;
}
cal(idx + 1, i, t - i,start);
}
}
'Algorithm' 카테고리의 다른 글
백준_블랙잭_2798 (0) | 2020.10.08 |
---|---|
백준_1로 만들기_1463 (0) | 2020.10.07 |
백준_일곱난쟁이_2309 (0) | 2020.10.05 |
백준_백도어_9205 (0) | 2020.10.04 |
SW Expert Academy_햄버거 다이어트(DP) (0) | 2020.10.01 |