일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- STL
- 7576
- 역테
- c++
- hustoj
- oj
- 저지시스템구축
- BOJ
- 구축
- 역량테스트
- 비트마스킹
- xcode
- SW역량테스트
- 소스코드
- 온라인저지시스템구축
- oj구축
- a형
- 삼성
- 모의 SW 역량테스트
- SWEA
- 개발
- 모의 SW역량테스트
- 삼성기출
- 알고리즘
- IOS
- SWIFT
- 풀이
- 백준
- SW Expert Academy
- 온라인 저지 구축
Archives
- Today
- Total
꾸르꾸르
[BOJ] 14501번 퇴사 문제풀이 (C++) 본문
2017.10.4 에 작성된 글 입니다.
문제링크
https://www.acmicpc.net/problem/14501
풀이방법
DP로 푸는데 .. 주석 참고...
소스코드
#include <iostream>
#include <algorithm>
using namespace std;
int N;
int T[16]; //기간저장
int P[16]; //비용저장
int dp[17];
void Init()
{
for (int i = 1; i <= N; i++) {
T[i] = 0;
P[i] = 0;
dp[i] = 0;
}
dp[N + 1] = 0;
}
int main()
{
cin >> N;
Init(); //초기화
for (int i = 1; i <= N; i++)
cin >> T[i] >> P[i];
dp[0] = 0;
for (int i = 1; i <= N + 1; i++)
for (int j = 1; j <= i; j++)
if (i - j >= T[j]) //i일에서 j일전으로 돌아가서 j일에 해당하는 일을 맡을수있으면
dp[i] = max(dp[j] + P[j], dp[i]); //일 맡고 현재 i일과비교
cout << dp[N + 1] << endl; //퇴사일에 받는 비용 출력
return 0;
}
참고
2017년 상반기 삼성전자 CE/IM 기출 문제
테트로미노랑 퇴사문제가 같이 나왔음.
'코딩, 알고리즘, 문제풀이 > BOJ 백준' 카테고리의 다른 글
[BOJ] 14503번 로봇 청소기 문제풀이 (C++) (0) | 2019.05.17 |
---|---|
[BOJ] 14502번 연구소 문제풀이 (C++) (0) | 2019.05.16 |
[BOJ] 14499번 주사위 굴리기 풀이 (C++) (0) | 2019.05.13 |
[BOJ] 13458번 시험감독 풀이 (C++) (0) | 2019.05.13 |
[BOJ] 14500번 테트로미노 문제풀이 (C++) (0) | 2019.05.12 |
Comments