알고리즘_PS/Baekjoon
[BOJ] 1012 - 유기농 배추 (C++)
hanseongjun
2022. 10. 30. 18:25
1. 문제
https://www.acmicpc.net/problem/1012
문제에서는 밭의 가로, 세로 크기와 심어진 배추의 개수, 각 배추의 위치가 주어진다.
이때 배추들을 건강하게 키우기 위한 최소 배추흰지렁이 개수를 구하면 되는 문제이다.
2. 해결 아이디어
dfs, bfs 등을 이용하여 쉽게 해결할 수 있는 문제이다.
다만 이번 문제를 해결하면서 작은 문제를 마주쳐 그것에 대해 기록하려고 글을 쓴다...
3. 개선할 점
코드에서 전역으로 밭(field), visited 배열을 만들고, 문제에서 설정된 최대 밭 크기가 50*50이라 SIZE를 50으로 설정했는데, 계속 오류가 났다.
https://www.acmicpc.net/board/view/99434
그래서 질문글과 반례를 계속 찾아보던 중, 해당 글에서 배열의 크기를 51로 해서 통과되었다는 내용을 보고, 따라했더니 성공했다...
아니 이건 근데 억까가 아닌가...
앞으로 배열의 크기가 한정적인 경우(골드 이상에서)가 아니라면, 배열의 크기를 조금 널널하게 잡자.
그리고 아무 이유 없이 오류가 난다면
알고리즘 로직 체크 -> 변수 위치/이름 실수 -> 타입, 반복문 범위, 배열 인덱스 실수 ->.. -> 배열 크기나 변수 크기 늘려보기
순으로 시도해보자.
4. 코드
LIST