1018번 - 체스판 다시 칠하기
미련하게도.. dfs로 풀었는데 테스트케이스는 통과하는데 50프로 쯤에서 틀렸다고 나오네요
재귀가 너무 많이 호출되서 스택이 터지는 걸까요????
동작원리는
8 8BBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBWWBWBWBWBBWBWBWBW
W는 1 B는 0으로 map배열에 저장됩니다.
이 테스트케이스라면 처음에 main에서 k의 값으로 W와 B를 넣어서 끝점까지 도달합니다.
k=0이라면 첫 점이 블랙이라고 가정하고 시작합니다. 첫점 뺴곤 전부 반대로 되어 있으므로 63개의 점을 전부 색칠해야합니다.
k=1이라면 첫 점이 화이트로 가정하고 첫점 뺴곤 전부 맞기 때문에 첫점만 색칠하면 됩니다. 그래서 1이 리턴됩니다.
그러므로 정답은 1이 나옵니다..
반례 혹은 로직이 잘못되었다면 지적해주시기 바랍니다.
가능한 좌표에서 size 크기만큼 최소값을 찾는 완전 탐색으로 해도 풀렸습니다. 현재 최소값보다 크면 탐색을 안하도록 했고요.
로직상에 문제가 있어서 잘못된 결과로 인해 틀렸습니다가 나왔을 겁니다. stack 이 터지면 런타임 에러로 나왔던 걸로..
@sgchoi5 한번해보겟습니다감사합니다^^
댓글을 작성하려면 로그인해야 합니다.
kioio5 6년 전
미련하게도.. dfs로 풀었는데 테스트케이스는 통과하는데 50프로 쯤에서 틀렸다고 나오네요
재귀가 너무 많이 호출되서 스택이 터지는 걸까요????
동작원리는
8 8
BBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
WBWBWBWB
BWBWBWBW
W는 1 B는 0으로 map배열에 저장됩니다.
이 테스트케이스라면 처음에 main에서 k의 값으로 W와 B를 넣어서 끝점까지 도달합니다.
k=0이라면 첫 점이 블랙이라고 가정하고 시작합니다. 첫점 뺴곤 전부 반대로 되어 있으므로 63개의 점을 전부 색칠해야합니다.
k=1이라면 첫 점이 화이트로 가정하고 첫점 뺴곤 전부 맞기 때문에 첫점만 색칠하면 됩니다. 그래서 1이 리턴됩니다.
그러므로 정답은 1이 나옵니다..
반례 혹은 로직이 잘못되었다면 지적해주시기 바랍니다.