18429번: 근손실
웨이트 트레이닝을 좋아하는 어떤 대학원생은, 현재 3대 운동 중량 500의 괴력을 소유하고 있다. 다만, 하루가 지날 때마다 중량이 K만큼 감소한다. 예를 들어 K=4일 때, 3일이 지나면 중량이 488로
www.acmicpc.net
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static int N, K;
static int answer;
static int[] arr;
static boolean[] visited;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
N = Integer.parseInt(st.nextToken()); // 운동키트 수
K = Integer.parseInt(st.nextToken()); // 하루마다 감소하는 중량
arr = new int[N];
visited = new boolean[N];
answer = 0;
st = new StringTokenizer(br.readLine(), " ");
for(int i = 0 ; i < N ; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
dfs(500, 0);
System.out.println(answer);
}
static void dfs(int w, int day) {
if(day == N) {
answer++;
return;
}
for(int i = 0; i < N; i++) {
if(visited[i]) continue;
visited[i] = true;
if(w - K + arr[i] >= 500) {
dfs(w-K+arr[i], day+1);
}
visited[i] = false;
}
}
}'알고리즘 > BAEKJOON' 카테고리의 다른 글
| 10773 제로 (0) | 2021.07.24 |
|---|---|
| 5430 AC (0) | 2021.07.23 |
| 2839 설탕배달 (0) | 2021.07.17 |
| 10815 숫자 카드_Binary Search (0) | 2021.07.13 |
| 2417 정수 제곱근_Binary Search (0) | 2021.07.12 |