삐까냥의 파도타기

Q5557. 1학년 본문

코딩/백준 알고리즘

Q5557. 1학년

금손형아 2019. 2. 25. 20:58

다음 계산을 계산하며 나아가는 로직.


알고리즘이라고 할게 없네요.



import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.util.StringTokenizer;


public class Q5557 {


static int[] nums;

static int result;

static long[][] dp = new long[101][21];

public static void main(String[] args) throws Exception {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

StringTokenizer st = new StringTokenizer(br.readLine());

int num = Integer.parseInt(st.nextToken());

nums = new int[num];

st = new StringTokenizer(br.readLine());

for (int i = 1; i < num; i++) {

nums[i] = Integer.parseInt(st.nextToken());

}

result = Integer.parseInt(st.nextToken());

dp[1][nums[1]] = 1;

for (int i = 2; i < num; i++) {

int tempNextNum = nums[i];

for (int j = 0; j <= 20; j++) {

if (dp[i-1][j] > 0) {

int temp = j + tempNextNum;

if (0 <= temp && temp <= 20) {

dp[i][temp] += dp[i-1][j];

}

temp = j - tempNextNum;

if (0 <= temp && temp <= 20) {

dp[i][temp] += dp[i-1][j];

}

}

}

}

System.out.println(dp[num-1][result]);

}


'코딩 > 백준 알고리즘' 카테고리의 다른 글

Q1495. 기타리스트  (0) 2019.02.27
Q2302. 극장 좌석  (0) 2019.02.25
Q10164. 격자상의 격로  (0) 2019.02.24
Q9507. Generations of Tribbles  (0) 2019.02.24
Q9252. LCS 2  (0) 2019.02.23