#SWEA1952. 수영장
✔문제링크
SWEA1952. 수영장
📝문제설명
💡해결방법
👍코드
import java.util.Scanner;
public class SWEA1952수영장 {
static int T, ANS;
static int[] price, month;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
for(int tc=0; tc<T; tc++) {
price = new int[4];
month = new int[13];
for(int i=0;i<4; i++) {
price[i] =sc.nextInt();
}
for(int i=1; i<=12; i++) {
month[i] = sc.nextInt();
}
// 1년 이용권 가격으로 초기화
ANS = price[3];
// 현재달, 현재달까지의 금액
DFS(0, 0);
System.out.println("#"+(tc+1)+" " + ANS);
}
}
private static void DFS(int m, int sum) {
if(m>=12) {
ANS = Math.min(ANS, sum);
}else {
if(month[m+1] == 0) DFS(m+1, sum);
else {
int oneDay = month[m+1]*price[0];
DFS(m+1, sum+oneDay);
int oneMonth = price[1];
DFS(m+1, sum+oneMonth);
int threeMonth = price[2];
DFS(m+3, sum+threeMonth);
}
}
}
}
Author And Source
이 문제에 관하여(#SWEA1952. 수영장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@gisung/SWEA1952.-수영장-hp6eld3h
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
💡해결방법
👍코드
import java.util.Scanner;
public class SWEA1952수영장 {
static int T, ANS;
static int[] price, month;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
for(int tc=0; tc<T; tc++) {
price = new int[4];
month = new int[13];
for(int i=0;i<4; i++) {
price[i] =sc.nextInt();
}
for(int i=1; i<=12; i++) {
month[i] = sc.nextInt();
}
// 1년 이용권 가격으로 초기화
ANS = price[3];
// 현재달, 현재달까지의 금액
DFS(0, 0);
System.out.println("#"+(tc+1)+" " + ANS);
}
}
private static void DFS(int m, int sum) {
if(m>=12) {
ANS = Math.min(ANS, sum);
}else {
if(month[m+1] == 0) DFS(m+1, sum);
else {
int oneDay = month[m+1]*price[0];
DFS(m+1, sum+oneDay);
int oneMonth = price[1];
DFS(m+1, sum+oneMonth);
int threeMonth = price[2];
DFS(m+3, sum+threeMonth);
}
}
}
}
Author And Source
이 문제에 관하여(#SWEA1952. 수영장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@gisung/SWEA1952.-수영장-hp6eld3h
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import java.util.Scanner;
public class SWEA1952수영장 {
static int T, ANS;
static int[] price, month;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
T = sc.nextInt();
for(int tc=0; tc<T; tc++) {
price = new int[4];
month = new int[13];
for(int i=0;i<4; i++) {
price[i] =sc.nextInt();
}
for(int i=1; i<=12; i++) {
month[i] = sc.nextInt();
}
// 1년 이용권 가격으로 초기화
ANS = price[3];
// 현재달, 현재달까지의 금액
DFS(0, 0);
System.out.println("#"+(tc+1)+" " + ANS);
}
}
private static void DFS(int m, int sum) {
if(m>=12) {
ANS = Math.min(ANS, sum);
}else {
if(month[m+1] == 0) DFS(m+1, sum);
else {
int oneDay = month[m+1]*price[0];
DFS(m+1, sum+oneDay);
int oneMonth = price[1];
DFS(m+1, sum+oneMonth);
int threeMonth = price[2];
DFS(m+3, sum+threeMonth);
}
}
}
}
Author And Source
이 문제에 관하여(#SWEA1952. 수영장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gisung/SWEA1952.-수영장-hp6eld3h저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)