Algorithm

백준 2573 - 빙산

mostlyjinsonit 2019. 4. 15. 14:29
반응형

문제 출처: https://www.acmicpc.net/problem/2573

 

2573번: 빙산

첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 나타내는 M개의 정수가 한 개의 빈 칸을 사이에 두고 주어진다. 각 칸에 들어가는 값은 0 이상 10 이하이다. 배열에서 빙산이 차지하는 칸의 개수, 즉, 1 이상의 정수가 들어가는 칸의 개수는 10,000 개 이하이다. 배열의 첫 번째 행과 열, 마지

www.acmicpc.net

 

 

 

 

 

빙산이라는 문제이다. bfs와 dfs를 이용해서 풀었다.

 

bfs로 큐에 넣어주고 한바퀴 돌렸을때 두 덩어리 이상으로 나누어 지는지에 대한 dfs 검사를 통해서 체크하고

 

나누어지지 않으면 나누어질때까지 bfs를 돌린다.

 

예외처리를 제대로 해주지 않으면 메모리 초과가 난다. 예외처리를 잘해줄것!

 

또한, 큐에 들어갈때 방문처리 잘해주어야 한다!

 

 

 

 

 

 

 

 

 

 

 

풀이 소스 코드: https://github.com/wopuv48/Algorithm_Practice_for_Tests/blob/master/algotest1/src/algotest1/bingha.java 

 

wopuv48/Algorithm_Practice_for_Tests

Contribute to wopuv48/Algorithm_Practice_for_Tests development by creating an account on GitHub.

github.com

 

반응형