-
백준 2667 c++코딩테스트 준비 2022. 6. 28. 11:40
1의 위치에서 각각 탐색을 해서 몇개의 구간과 구간안의 단지수를 찾는 문제이다.
구간을 찾는 탐색과 구간 안에 몇개의 단지를 찾는 탐색을 하면 된다.
구간을 찾는 탐색은 이중 for문을 이용해 1을 찾으면 되고 1을 찾은 그 위치에서 너비우선 탐색 또는 깊이 우선 탐색을 해서 구간안에 몇개의 단지가 있는 지 찾으면 된다. 핵심은 visited[][] 배열을 선언해 DFS(), BFS()을 통해 구간안에 단지를 다 방문하면 이중 for문에서 단지의 구분이 가능하다.
https://www.acmicpc.net/problem/2667
2667번: 단지번호붙이기
<그림 1>과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여
www.acmicpc.net
탐색문제에서 2차원 배열에서 x,y / 가로 세로를 잘 구분해야 한다. 이것때문에 엄청난 오류가 나왔다.
'코딩테스트 준비' 카테고리의 다른 글
백준 2629 c++ (0) 2022.06.30 substr 과 stoi, stof (0) 2022.06.28 백준 1520 c++ (0) 2022.06.28 백준2606 (0) 2022.06.27 백준 11049 (0) 2022.06.27