본문 바로가기

Algorithm/Graph Search Algorithm30

BOJ P5 3197 백조의 호수 BFS+이분탐색 JAVA 3197번: 백조의 호수 입력의 첫째 줄에는 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1500. 다음 R개의 줄에는 각각 길이 C의 문자열이 하나씩 주어진다. '.'은 물 공간, 'X'는 빙판 공간, 'L'은 백조가 있는 공간으로 나타낸다. www.acmicpc.net 문제 읽기 처음에 문제를 읽었을 때는 일반적인 시뮬레이션 문제 같았다. 단순하게 생각하면 다음과 같은 구조로 풀이를 할 수 있을 것이다. 모든 판을 순회하며 물과 인접한 얼음에 없앤다는 표식을 남긴다 다시 모든 판을 순회하며 표식이 있는 얼음을 녹여 물로 만든다 위 과정이 끝났으면 백조 한 마리의 위치에서 BFS를 수행하여, 물로만 이동했을 때 다른 백조까지 도달하는 지 파악한다 두 백조가 만났다면 끝내고, 만나지 않았지만 1-3 과.. 2024. 1. 12.
BOJ G4 4179 불! JAVA 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net 문제 읽기 문제를 처음 읽었을 땐 별 문제 없이 구현할 수 있을 줄 알았지만.. 자잘한 실수와 문제를 제대로 읽지 않은 게 원인이 되어 조금 헤맸다. 문제 해결 자료구조 char[][] map Queue 두 개 지훈이 이동 Q 불 이동 Q 실수한 부분 불 퍼지는 방식 이상하게 함 처음에는 이상하게 생각해서 지훈이 큐랑 불 큐랑 두 개 만들고 지훈이 큐에서 하나씩 뺄 때마다 불 큐에서도 하나 빼서 상하좌우 이동함. 결국 depth 다 꼬여서 답 안.. 2023. 7. 13.