본문 바로가기
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
«
2025/04
»
일
월
화
수
목
금
토
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
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값 출력
공유하기
URL 복사
카카오톡 공유
페이스북 공유
엑스 공유
게시글 관리
구독하기
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
티스토리툴바
닫기
단축키
내 블로그
내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W
블로그 게시글
글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C
모든 영역
이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift
+
/
⇧
+
/
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.