백준 3

백준 16964번 DFS 스페셜 저지 (C++)

문제 링크 : www.acmicpc.net/problem/1696416964번: DFS 스페셜 저지첫째 줄에 정점의 수 N(2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에는 트리의 간선 정보가 주어진다. 마지막 줄에는 DFS 방문 순서가 주어진다. DFS 방문 순서는 항상 N개의 정수로 이루www.acmicpc.net이 문제는 백준 16940번 BFS 스페셜 저지 - 2에서 활용한 기법으로 풀 수 있다.백준 16940번 BFS 스페셜 저지 (C++) - 2문제 링크 : www.acmicpc.net/problem/16940 16940번: BFS 스페셜 저지 올바른 순서는 1, 2, 3, 4와 1, 3, 2, 4가 있다. www.acmicpc.net 이 문제를 이전에 풀었을 때, 머릿..

#14716번 현수막 (C++)

링크 : www.acmicpc.net/problem/14716 14716번: 현수막 혁진이의 생각대로 프로그램을 구현했을 때, 현수막에서 글자의 개수가 몇 개인지 출력하여라. www.acmicpc.net 문제풀이는 다음과 같다. (1) 배열의 첫 지점부터 끝 지점까지 for문을 돌린다. (2) 해당 지점을 방문한 적이 없으며(false), 1의 값을 가질 경우 DFS를 진행한다. DFS를 빠져나왔을 경우를 고려하여 바로 다음 줄에는 결과값을 + 1 해주는 코드를 작성한다. (3) 해당 지점의 상하좌우, 대각선 방향으로 for문을 돌려서 해당 값이 값을 초과하지 않고, 방문한 경험이 없었으며(false), 1의 값을 가질 경우에 그 값을 기준으로 또 다시 dfs를 진행한다. #include #include..

#10026번 적록색약 (C++)

링크 : www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 문제풀이는 다음과 같다. (1) 색약이 아닌사람(ncb)과 색약인 사람(cb)를 구분한다. (2) 색약이 아닌 사람부터 진행한다. 그림의 첫번째 위치 [0][0]부터 시작하여, 해당 위치를 방문한 적이 없을 경우(false) DFS를 진행한다. (3) 해당 위치를 방문한 적이 있음으로 표시한뒤(true), 해당 위치의 상 / 하 / 좌 / 우를 탐색한다. (4) 상 / 하 / 좌 / 우의 값을 ..