반응형

그래프이론 3

[백준 5972] 택배 배송 C++

문제 백준 5972 택배 배송 C++ 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 풀이 문제 설명이 애매하게 되어있는데, 하나 이상의 길로 연결되어 있을 수 있다는 점이 거슬렸다. 시작, 끝 점은 똑같은데 비용이 다른 간선을 말한다기보다는 다른 점으로 우회하여 갈 수 있다고 받아들였다. 풀이는 일반적인 다익스트라 문제 해법을 사용해 해결해주면 된다. 우선 순위 큐를 사용하여 시작 점부터 간선 정보를 갱신해 주고, N까지 가는 비용을 출력한다. 소스 코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..

알고리즘/백준 2023.03.03

[백준 16234] 인구 이동 (C++)

문제 백준 16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 풀이 bfs로 나라를 돌면서 인구 수 차가 일정 범위 이내라면 q, checkq에 push 합니다. bfs가 끝난 뒤 checkq에 있는 나라들의 인구를 같게 만들어줍니다. 인구 이동이 발생하지 않을 때 까지 이 과정을 반복하고, 횟수를 출력합니다. 소스 코드 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 32 33 34 35..

알고리즘/백준 2021.08.18

[백준 2636] 치즈 (C++)

문제 백준 2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 풀이 전형적인 bfs 문제였습니다. 먼저 치즈의 개수를 세주고 temp에 저장합니다. (0,0)은 무조건 공기이므로 bfs를 이용해 공기와 맞닿은 치즈들을 모두 공기로 바꿔줍니다. 다시 치즈의 개수를 세고, 치즈가 없다면 temp와 hour를 출력하고 있다면 bfs를 반복합니다. 소스 코드 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253..

알고리즘/백준 2021.08.18
반응형