[C++] 백준 1987번 : 알파벳
·
problem solving/백준
https://www.acmicpc.net/problem/1987 1987번: 알파벳문제 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한www.acmicpc.netDFS와 되추적 기법(1,1)에서 시작되는 노드를 따라 갔던 정점 빼고 가장 많은 정점의 수를 출력해야한다. 즉, (1,1)에서 시작하여 모든 노드를 방문하며 - > DFS / BFS모든 경우의 수를 생각해야한다 -> 되추적 기법 모든 경우의 수를 생각해야하는 거면 DP도 되지 않나라는 생각을 했는데2차원 배열이 사용되는 그런 길? 타일 같은 공간이 필요하면 되추적으로 하는 것 같다(..) 되추..
[C++] 백준 14501번: 퇴사
·
problem solving/백준
🔗 문제 14501번: 퇴사 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 🖍 풀이 일을 했을 경우와 일을 하지 않았을 경우로 상황을 나눠 생각할 수 있다. i 날에 일을 한 경우: i + T[i] 에 수익이 전에 벌어 놓은 돈 + P[i] 이 된다. i 날에 일을 하지 않을 경우: i+T[i]날 수익에 변동이 없다. 이걸 재귀함수로 짠다면? 간단하게 생각하면 완전 탐색할 수 있다. void solve(int days, int profit) { if(days == N+1) { return; } solve(days + T[days], profit + P[days]); solve(days + 1, profit) } 하지만 재귀함수는 호출된 함수 메모..
[C++] 백준 13458번 : 시험감독
·
problem solving/백준
🔗 문제 13458번: 시험 감독 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net 🖍 풀이 총감독은 필수이기 때문에 최소 N명의 감독님. 그리고 우리가 구할 것은 부감독님의 인원이다. 부감독이 필요한 경우는 총감독이 감독하지 못한 사람이 있는 경우 - Ai - B > 0 필요한 부감독님 인원은 (Ai - B)%C == 0 일 때, (Ai-B)/C (Ai-B)%C != 0 일 때, (Ai-B)/C + 1 풀이가 필요할까..? 조건의 수가 크기 때문에 결과를..