그래프 168

백준 3184번 양 C++

https://www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net bfs #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int dRow[4] = { -1,0,1,0 }; int dCol[4] ..

알고리즘 2023.06.30

백준 3187번 양치기 꿍 C++

https://www.acmicpc.net/problem/3187 3187번: 양치기 꿍 입력의 첫 번째 줄에는 각각 영역의 세로와 가로의 길이를 나타내는 두 개의 정수 R, C (3 ≤ R, C ≤ 250)가 주어진다. 다음 각 R줄에는 C개의 문자가 주어지며 이들은 위에서 설명한 기호들이다. www.acmicpc.net bfs #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int dRow[4] = { -1,0,1,0 }; int dCol[4] ..

알고리즘 2023.06.29

백준 21278번 호석이 두 마리 치킨 C++

https://www.acmicpc.net/problem/21278 21278번: 호석이 두 마리 치킨 위의 그림과 같이 1번과 2번 건물에 치킨집을 짓게 되면 1번부터 5번 건물에 대해 치킨집까지의 왕복 시간이 0, 0, 2, 2, 2 로 최소가 된다. 2번과 3번 건물에 지어도 동일한 왕복 시간이 나오지만 더 www.acmicpc.net 플로이드 워셜로 각 건물과의 거리를 전부 구하고 백트래킹을 통해 두개의 치킨집과의 왕복 거리의 합이 가장 적은 두 건물을 골랐다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #includ..

알고리즘 2023.06.08

백준 3182번 한동이는 공부가 하기 싫어! C++

https://www.acmicpc.net/problem/3182 3182번: 한동이는 공부가 하기 싫어! H-ALGO 회원인 한동이는 공부하는것을 좋아하지 않는다. 하지만 약삭빠르게도 한동이는 공부도 하지 않으면서 어려운 시험을 통과하고 싶어한다. 그러던 와중 어느 날, 한동이의 동기가 한동이에 www.acmicpc.net #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long long; int n; vector v; vector v..

알고리즘 2023.06.07

백준 18404번 현명한 나이트 C++

https://www.acmicpc.net/problem/18404 18404번: 현명한 나이트 첫째 줄에 N과 M이 공백을 기준으로 구분되어 자연수로 주어진다. (1 ≤ N ≤ 500, 1 ≤ M ≤ 1,000) 둘째 줄에 나이트의 위치 (X, Y)를 의미하는 X와 Y가 공백을 기준으로 구분되어 자연수로 주어진다. ( www.acmicpc.net 매번마다 bfs를 돌리면 시간초과가 나기 때문에 최소 거리를 저장하는 배열을 만든다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using name..

알고리즘 2023.06.04

백준 14675번 단절점과 단절선 C++

https://www.acmicpc.net/problem/14675 14675번: 단절점과 단절선 프로그램의 입력은 표준 입력으로 받는다. 입력의 첫 줄에는 트리의 정점 개수 N이 주어진다. (2 ≤ N ≤ 100,000) 트리의 정점은 1번부터 n번까지 존재한다. 다음 줄부터 N-1개의 줄에 걸쳐 간선의 정 www.acmicpc.net 트리에서는 단절점과 단절선의 조건이 아래와 같다. 단절점 : 리프 노드가 아니면 전부 단절점이다. 단절선 : 모든 선이 단절선이다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include..

알고리즘 2023.05.26

백준 21938번 영상처리 C++

https://www.acmicpc.net/problem/21938 21938번: 영상처리 화면의 세로 $N$, 가로 $M$ 값이 공백으로 구분되어 주어진다. 두 번째 줄부터 $N + 1$줄까지 $i$번째 가로를 구성하고 있는 픽셀의 $R_{i,j}$, $G_{i,j}$, $B_{i,j}$의 값이 공백으로 구분되어 총 $M$개 주어진 www.acmicpc.net bfs로 풀수있는 간단한 문제인데, 입력 방식이 조금 특이했다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespac..

알고리즘 2023.05.25

백준 16509번 장군 C++

https://www.acmicpc.net/problem/16509 16509번: 장군 오랜만에 휴가를 나온 호근이는 문득 동아리방에 있는 장기가 하고 싶어졌다. 하지만 장기를 오랫동안 하지 않은 탓인지 예전에는 잘 쓰던 상을 제대로 쓰는 것이 너무 힘들었다. 호근이를 위해 www.acmicpc.net bfs 사용, 도착지점이 아닌 경로상에 말이 있으면 가지 못하도록 한다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long lon..

알고리즘 2023.05.16

백준 16397번 탈출 C++

https://www.acmicpc.net/problem/16397 16397번: 탈출 첫 번째 줄에 N (0 ≤ N ≤ 99,999), T (1 ≤ T ≤ 99,999), G (0 ≤ G ≤ 99,999)가 공백 하나를 사이에 두고 주어진다. 각각 N은 LED로 표현된 수, T는 버튼을 누를 수 있는 최대 횟수, G는 탈출을 위해 똑같이 www.acmicpc.net bfs #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using int64 = long lon..

알고리즘 2023.03.23

백준 16168번 퍼레이드 C++

https://www.acmicpc.net/problem/16168 16168번: 퍼레이드 첫 번째 줄에 지점의 개수 V, 연결 구간의 개수 E가 주어진다. (1 ≤ V ≤ E ≤ 3000) 이후 E개의 줄에 걸쳐 각 연결 구간이 연결하는 두 지점의 번호 Va, Vb가 공백을 사이에 두고 주어진다. (1 ≤ Va, www.acmicpc.net 오일러경로 : 노드가 전부 연결되어있고 차수가 홀수인 노드가 0개 또는 2개이라면 한 경로를 한번만 들려서 모든 경로를 돌 수 있다. #include #include #include #include #include #include #include #include #include #include #include #include #include #include #inc..

알고리즘 2023.03.08