본문 바로가기
Endless Motivation
카테고리
검색하기
검색하기
Search
Endless Motivation
Renesys
분류 전체보기
(142)
갤러리
(1)
IT
(22)
Algorithm
(12)
Web & DB
(4)
OS & Infra
(4)
Data Analysis
(1)
교통 이야기
(18)
Travel
(100)
2010 Tokyo
(0)
2010 Kansai
(0)
2011 내일로 겨울
(0)
2011 내일로 여름
(8)
2013 내일로 겨울
(0)
2014 Kyushu
(0)
2016 Shanghai
(0)
2016 NY DC
(0)
2017 US West
(16)
2017 Tokyo
(13)
2018 Kaohsiung
(12)
2018 Japan
(35)
2019 HongKong
(9)
2019 Florida
(7)
Guestbook
Notice
Recent Posts
Recent Comments
Link
«
2024/05
»
일
월
화
수
목
금
토
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
Tags
홍콩 마카오 버스
강주아오대교
요코하마
도쿠나이패스
카와고에
마카오
스이카
에노시마
JR
다카마츠
파스모
홍콩
도쿄 지하철
도쿄메트로패스
하코네
도쿄 패스
사누키 우동
more
Archives
Today
Total
닫기
관리 메뉴
글쓰기
방명록
RSS
관리
Endless Motivation
퇴사 본문
IT/Algorithm
퇴사
Renesys
2018. 4. 11. 16:53
#include<iostream> #include<fstream> #include<vector> #include<list> #include<algorithm> #include<cmath> using namespace std; int days; int work[100]; int pay[100]; int max = 0; int f(int d, int sum) { if (d > days + 1) { return 0; } else if (d == days +1 ) { return sum; } return std::max(f(d + 1, sum), f(d + work[d], sum + pay[d])); } int main() { ifstream in("in.txt"); in >> days; for (int t = 1; t <= days; t++) { in >> work[t] >> pay[t]; } cout << f(1, 0) << endl; }
DFS로 풀이
오늘 일한다면 다음 작업은 시작은 day+걸리는 시간, 금액은 여태까지 벌은 금액 + 오늘 벌 금액
오늘 일을 안한다면 다음 작업 시작은 day +1일, 금액은 동일
퇴사 날짜를 넘긴다면 금액을 0으로 만들어 무효처리
퇴사 날짜에 도착하면 여태까지의 금액 returm
최종적으로 DFS를 통한 max값 출력
공유하기
게시글 관리
구독하기
Endless Motivation
저작자표시
비영리
변경금지
'IT/Algorithm' Related Articles
이상한 피라미드
2018.04.10
가장 큰 섬 찾기
2018.03.30
anagram
2018.03.25
피보나치 수열 with memoization
2018.03.23
more
Comments
Blog is powered by
kakao
/ Designed by
Tistory
티스토리툴바