본문 바로가기

C++2

[백준] 17143번 낚시왕 (Gold 1) 문제링크 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 문제 접근 1. 2차원 배열에 상어가 존재 2. 각 상어들은 (방향 / 크기 / 속도)를 가진 객체 3. 매초마다 사람은 오른쪽으로 한칸씩 이동하면서 상어를 잡는다. 4. 상어가 이동하는 방향은 1->2->1 혹은 2->1->2 혹은 3->4->3 혹은 4->3->4 이다. 5. 즉, 상어는 아무리 많이 이동해도 매초 (R-1) * 2 마다 같은 위치에 위치하고 같은 방향을 바라보게 되어 실제로 움직이는 것은 (Speed % ((R-1.. 2024. 4. 20.
[알고리즘/프로그래머스] 양과 늑대 (Lv.3) [ 문제이해 ] 문제의 기본 유형은 이진 트리 모양의 초원에 각 노드마다 양 또는 늑대가 한마리씩 놓여있다. 이때, 루트 노드에서 출발하여 각 노드를 돌아다니면서 노드에 있는 동물을 데리고 다니는데 양의 수가 늑대의 수보다 항상 많아야 한다. 만약 늑대의 수가 더 많다면 양은 모두 잡아먹혀 양은 0마리가 된다. 또한, 한번 방문한 노드를 다시 방문할 수 있고, 중간에 양이 잡아 먹히지 않으면서 가장 많은 수의 양을 모으는 경우에서 양의 수를 결과값으로 내면 된다. [ 문제풀이 ] 사실 문제 자체는 어렵지 않아 처음 문제를 접했을 때, 간단한 DFS문제로 해결하면 되는 줄 알았다. 하지만 보통의 DFS의 경우 한번 방문한 노드의 경우 다시 방문하지 않는다. 이 문제에서는 방문한 노드를 다시 방문해도 되지만.. 2023. 10. 4.