반응형
반응형
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 난이도: solved.ac 골드 5 알고리즘 분류 DFS, BFS 구현 적록색약이 아닌 눈으로 볼 때와 적록색약인 눈으로 볼 때의 두 경우를 각각의 함수 eyes1, eyes2로 만들었다 eyes1은 일반 BFS 함수와 동일하고, eyes2는 R과 G를 동일한 색으로 봐야하므로 큐에 맨 처음으로 들어가는 색깔이 R이나 G인 경우에는 B를 제외한 색(R 또는 G)일 때만 탐색을 이어나가고, ..
https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 난이도: solved.ac 골드 5 알고리즘 종류 BFS (너비 우선 탐색) 문제 설명 하루가 지나면 익은 토마토를 기준으로 상하좌우로 인접한 토마토들이 익게 된다 익은 토마토는 1, 아직 익지 않은 토마토는 0, 빈 칸은 -1로 표시된다 아래는 예제 입력 1의 토마토가 어떻게 익게 되는지 그림으로 나타낸 것이다 익은 토마토가 있는 칸은 파란색으로 칠해주었다 위의 예제 입력 1은 ..
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 난이도: solved.ac 실버 2 알고리즘 분류 DFS, BFS 구현 나는 BFS를 이용해 구현하였다 입력받은 size만큼의 크기인 map과 visited라는 2차원 배열을 만들었는데, 모두 calloc으로 만들어 모든 원소가 0이 되도록 해주었다 map은 배추의 위치를 표시하는 용도, visited는 방문한 배추의 위치를 표시하는 용도로 사용하였다 그리고 이중 for문을 이용해 배추의 위치를 찾아 BFS를..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 난이도: solved.ac 실버 1 BFS를 알고 있다면 쉽게 풀 수 있는 문제다 먼저 map에 입력을 받아주고, visited라는 2차원 배열을 통해 해당 index의 위치를 방문했는지 표시하며 이때 표시는 출발 위치로부터 떨어진 거리로 표시한다 문제에서 출발 위치와 도착 위치도 칸을 세야 한다고 했으므로 visited를 1부터 시작했다 Ex. visited[0][0] = 1 visited[0][1] = 2 ... 내가 말을 ..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 난이도: solved.ac 실버 2 DFS와 BFS를 구현하는 문제다 graph라는 2차원 배열을 통해 각 정점끼리 연결된 것을 표현하고 각 정점을 방문하면 visited라는 배열의 해당 index 값을 1로 바꿔주었다 그리고 BFS 한정으로 큐(Queue)를 사용했는데 front와 rear라는 변수를 통해 enqueue, dequeue할 때의 위치를 나타내었..