Jun's Development Journey
[BOJ] 14501번 퇴사 본문
문제
https://www.acmicpc.net/problem/14501
14501번: 퇴사
첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다.
www.acmicpc.net
풀이
이 문제 또한 전형적인 모든 경우의 수 문제이다. 날짜 시작점에 따라서 주어진 N을 넘지 않는 선에서 재귀를 이용해서 Max값을 계속 갱신해주면서 발생하는 최대의 비용 값을 구하도록 구현했다.
처음에는 이중 for문을 통해서 구하려고 했지만 반복문에 사용되는 첨자 변수를 사용하면 안되는 것인지 몰라도 C++이나 자바에서 증감을 해주지 못했다. 이 측면은 다시 알아보고 공부해야겠다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
class Consulting {
int time, pay;
public Consulting(int time, int pay) {
this.time = time;
this.pay = pay;
}
}
public class Main {
static Scanner scan = new Scanner(System.in);
static int N, Max = 0, m_max = 0;
static Vector<Consulting> plan;
static void init() {
int t, p;
N = scan.nextInt();
plan = new Vector<Consulting>();
for (int i = 0; i < N; i++) {
t = scan.nextInt();
p = scan.nextInt();
plan.add(new Consulting(t, p));
}
}
static void cal_max(int day) {
Max = Math.max(Max, m_max);
for (int i = day; i < N; i++) {
continue;
cal_max(i + plan.get(i).time);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
init();
cal_max(0);
System.out.println(Max);
}
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
|
'BOJ > BruteForce' 카테고리의 다른 글
[BOJ] 2798번 블랙잭 (0) | 2021.03.10 |
---|---|
[BOJ] 1107 리모컨 (0) | 2021.02.19 |
[BOJ] 1182번 부분수열의 합 (0) | 2019.07.30 |
[BOJ] 2309번 일곱 난장이 (0) | 2019.07.29 |
[BOJ] 1065번 한수 (0) | 2019.07.29 |