Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- hash table
- spring boot
- 코테
- Linked list
- 알고리듬
- Back tracking
- gpdb
- CSV
- 알고리즘
- 모의SW역량테스트
- DFS
- Algorithm
- aws
- Priority Queue
- Bruth Force
- django
- GitHub
- boj
- Data Structure
- Python
- BFS
- Trie
- JavaScript
- SWEA
- SQL
- programmers
- 코딩테스트
- 시뮬레이션
- Vue.js
- 구현
Archives
- Today
- Total
hotamul의 개발 이야기
[Algorithm][C++] JUNGOL 4197: swat. 연습실 본문
myt-algorithm-practice/Samsung SW Certi Adv
[Algorithm][C++] JUNGOL 4197: swat. 연습실
hotamul 2021. 10. 28. 21:11url: http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=3547&sca=99
JUNGOL
www.jungol.co.kr
풀이 핵심
1. BackTracking / Bruth Force 문제 (재귀 함수 완전 탐색)
2. 현재 날짜를 선택 하냐 / 안하냐 로 재귀 함수 만들어 주면 끝...
코드
#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
int N, ans;
struct INFO{ int time, pay; };
INFO schedule[15]; // 수업 시간, 페이에 대한 정보 (index가 날짜, 0부터 시작)
void solve(int day, int sum) {
if (day == N) { // day가 N이라는 것은 여행 가는날 ~
if (ans < sum) {
ans = sum;
}
return;
}
if (day > N) return; // day가 N 보다 크면 어떤 수업을 다 못 끝낸 것..
solve(day + schedule[day].time, sum + schedule[day].pay); // 오늘 수업 함
solve(day + 1, sum); // 오늘 수업 안함
}
int main() {
scanf("%d", &N);
for (int i = 0; i < N; i++) {
int t, p;
scanf("%d %d", &schedule[i].time, &schedule[i].pay);
}
solve(0, 0);
printf("%d", ans);
return 0;
}
이 문제를 어디서 풀어봤더라.. 정말 비슷한 문제를 풀었던 것 같은데 뭔지 기억이 안난다..
무튼 쉬운 문제인 것 같다.
'myt-algorithm-practice > Samsung SW Certi Adv' 카테고리의 다른 글
[Algorihtm][C++] JUNGOL 4199. swat 로봇청소기 (0) | 2021.11.01 |
---|---|
[Algorithm][C++] JUNGOL 4198: swat. 산불 (0) | 2021.11.01 |
[Algorithm][C++] JUNGOL 4193: swat. 애벌레 키우기1 (0) | 2021.10.28 |
[Algorithm][C++] SWEA 1249. [S/W 문제해결 응용] 보급로 문제 (0) | 2021.10.27 |
[Algorithm][C++] BOJ 12100 2048(Easy) (0) | 2021.10.24 |
Comments