-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
키 입력 순서에 따라 실행이 되었다가 안되었다가 하는데 원인을 모르겠습니다;
22.05.11 02:54 작성 조회수 96
0
안녕하세요. 선생님
해당 문제를 아래와 같이 풀었습니다
그런데, n과 m의 위치를 바꾸면 실행이 안되는데요
입력값을 받을 때 이슈가 있는 것같은데, 원인을 찾을수가 없었습니다ㅠ
선생님께서 배포해주신 답안도 마찬가지 현상이 있는데요
혹시 원인을 알 수 있을까요?
import java.util.*;
public class Main {
static int m, n, answer = 0;
public void DFS(int L, int sum, int[] score, int totalTime, int[] time){
if(totalTime > m) return;
if(L == n){
answer = Math.max(answer, sum);
}else{
DFS(L+1, sum + score[L], score, totalTime + time[L], time);
DFS(L+1, sum, score, totalTime, time);
}
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
n = kb.nextInt(); // 문제수
m = kb.nextInt(); // 제한시간 // n과 m 바꾸면 안됩니다
int[] score = new int[n];
int[] time = new int[n];
for(int i=0; i<n; i++){
score[i] = kb.nextInt();
time[i] = kb.nextInt();
}
T.DFS(0, 0, score, 0, time);
System.out.println(answer);
}
}
답변을 작성해보세요.
0
답변 1