작성
·
132
1
http://boj.kr/9836321748734ee289405c3434a83f5c
아래 질문 하신분들 코드를 보다가 정리를 해보니
이방법이 외우기 쉬운것 같은데요.
일반적인 DFS, BFS 에서는 오버플로우 체크(방문여부 등등..)를 하는 코드가 있는데요.
위 코드로 할 경우에는 오버플로우 또는 반례를 생각하지 않아도 되는걸까요?
답변 1
0
안녕하세요 현이님 ㅎㅎ
네 맞습니다.
for (int i = 0; i < 4; i++) {
int ny = y + dy[i] * (size / 2);
int nx = x + dx[i] * (size / 2);
ret += quard(ny, nx , size / 2);
이 경우에는 오버플로가 발생하지 않는 코드라서 그렇습니다. 딱 배열 안에 들어가는 범위로 ny, nx가 정해지기 때문에 이 코드의 경우 오버플로체킹을 안해도 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.