• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

키 입력 순서에 따라 실행이 되었다가 안되었다가 하는데 원인을 모르겠습니다;

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);
}
}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

질문을 이해하지 못했습니다.