[다익스트라] 백준 레이저 통신
이번 문제는 백준 6087 레이저 통신 문제입니다. 다익스트라를 이용해서 풀었습니다. 각 지점의 최소거리(거울 개수)를 구하고, 이를 이용하여 또 다른 레이저 좌표까지 탐색하도록 했습니다. 중요한 점은 이전에 어떤 방향으로 진행했는지 알아야 합니다. 그래야지 거울 개수를 알 수 있기 때문입니다. import heapq def dij(razer_pos, board, r, c): hq = [] direction = {} direction['up'] = {'up':(1,0), 'left':(0,-1), 'right' : (0,1)} direction['down'] = {'down':(-1,0), 'left':(0,-1), 'right' : (0,1)} direction['left'] = {'left' : (0..
2022. 12. 25.
[이분 탐색] 백준 10816 숫자 카드2
https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이가 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다. 셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이수도 -10,00 www.acmicpc.net #include #include using namespace std; int main(){ int n, m; int arr[50..
2019. 4. 7.