jh11240   1년 전

input함수, checkboard함수, solution함수로 이뤄져 있는데요.

함수 기능들을 대략적으로 설명 하자면 input함수에선 입력값 받아서 배열 만들고 solution함수 호출하는 역할이고,

solution함수에서 checkboard함수에 0,0부터 n-8,m-8의 좌표 값을 넣어주고 

chcekboard함수에서 각 좌표 값의 8x8범위를 조사합니다.

질문게시판에서 본 반례는 거의 집어 넣어봤는데 다 잘나옵니다..

어떤 반례가 있는지 너무 궁금합니다.. 답변해주시면 감사하겠습니다.!

adung7   1년 전

반례 :

10 10
WWWWWWWWWW
WWWWWWWWWW
WBWBWBWBWW
WWBWBWBWBW
WBWBWBWBWW
WWBWBWBWBW
WBWBWBWBWW
WWWWWWWWWW
WWWWWWWWWW
WWBWBWBWBW

정답 : 

8

adung7   1년 전

아 그리고 11번째줄과 13번째 줄에서 동적할당을 하셨으므로 마지막에 delete[]로 메모리 해제를 해주셔야합니다.

for(int i = 0; i < N; ++i)
    delete[] arr[i];
delete[] arr;

jh11240   1년 전

정말 감사합니다 선생님! 

체크보드 함수안에서 8x8 보드판 만들 때 당연히 (0,0)에서 (7,7)까지 있을거라고 생각했는데,

제가 x,y를 받아와서 사용하는 함수라 첫 값이 당연히 (0,0) 즉 (짝수,짝수)가 아니고 (x,y)라서 첫 값이 (홀수,홀수)일수도 있었군요,,,

i,j를 i-x,j-y로 바꾸니 맞았습니다! 감사합니다!

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