본문 바로가기

Problem Solving12

백준 1939번 | 중량제한 (C++ 풀이) 문제 https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 풀이 사용 알고리즘 : 그래프 탐색(BFS) + 파라메트릭 서치 시간 복잡도 : O((N + M) * log(max(K))) 그래프 탐색 + 파라메트릭 서치를 이용하여 풀었습니다. ​ 먼저 Naive한 풀이를 생각해 봅시다. 섬과 다리의 정보를 받아서 양방향 그래프화 시킵니다. 그 후 옮길 물품들의 중량을 k라고 했을 때, 섬 A에서.. 2022. 10. 1.
백준 14890번 | 경사로 (C++ 풀이) 문제 https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 사용 알고리즘 : 구현 꽤 까다로운 구현 문제였습니다. ​ 저는 일단 입력을 받고 나서 데이터를 순서쌍 (칸의 높이, 같은 높이의 칸이 연속해서 인접해있는 개수) 로 바꿔서 처리했습니다. 예를 들어 3, 2, 2, 1, 2, 3 이 입력으로 들어온다면 (3,1), (2,2), (1,1), (2,1), (3,1) 로 바꾸는 식입니다. ​ 이제 경우를 나눠서 봐보죠. 편의를 위해 저 위의 순서쌍을 (A[i].fi.. 2022. 10. 1.