알고리즘_PS/Baekjoon

[BOJ] 1012 - 유기농 배추 (C++)

hanseongjun 2022. 10. 30. 18:25

싱싱한 배추~~

1. 문제

https://www.acmicpc.net/problem/1012

 

1012번: 유기농 배추

차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 

www.acmicpc.net

 

문제에서는 밭의 가로, 세로 크기와 심어진 배추의 개수, 각 배추의 위치가 주어진다.

이때 배추들을 건강하게 키우기 위한 최소 배추흰지렁이 개수를 구하면 되는 문제이다.

2. 해결 아이디어

dfs, bfs 등을 이용하여 쉽게 해결할 수 있는 문제이다.

다만 이번 문제를 해결하면서 작은 문제를 마주쳐 그것에 대해 기록하려고 글을 쓴다...

3. 개선할 점

코드에서 전역으로 밭(field), visited 배열을 만들고, 문제에서 설정된 최대 밭 크기가 50*50이라 SIZE를 50으로 설정했는데, 계속 오류가 났다.

https://www.acmicpc.net/board/view/99434

 

글 읽기 - 1012 유기농 지렁이) 배열 크기를 늘렸더니 계속 틀리던 게 통과 되었습니다.

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net

그래서 질문글과 반례를 계속 찾아보던 중, 해당 글에서 배열의 크기를 51로 해서 통과되었다는 내용을 보고, 따라했더니 성공했다...

 

아니 이건 근데 억까가 아닌가...

 

앞으로 배열의 크기가 한정적인 경우(골드 이상에서)가 아니라면, 배열의 크기를 조금 널널하게 잡자.

그리고 아무 이유 없이 오류가 난다면

 

알고리즘 로직 체크 -> 변수 위치/이름 실수 -> 타입, 반복문 범위, 배열 인덱스 실수 ->.. -> 배열 크기나 변수 크기 늘려보기

순으로 시도해보자.

 

 

4. 코드

 

 

LIST