yth1130   2년 전

12프로정도에서 틀렸습니다 가 나오는데


일단 질문게시판에 있는 테스트케이스는 다 돌려보았습니다. 다 정답이 나오구요


구현은 BFS를 이용하였구요 큐에서 빼서 상하좌우로 움직여보고 보드에 움직임이 없으면 큐에 넣지 않고 보드에 움직임이 있을 경우만 큐에 넣어주었습니다.


블럭 하나를 움직이는 함수가 두개인데 하나는 블럭이 보드 끝까지 움직이는 경우와 하나는 그렇지 않은 경우입니다.


혹시 반례가 있을까요?? 고수님들 도와주십셔 ㅠㅠ

yth1130   2년 전

아 그리고 본문에 적는 걸 깜빡했는데 4프로에서 막혔을 때는 최대 6번까지 움직이게 짰었습니다. 최대 5번까지로 제한하니까 4프로는 뚫더라구요


참고하시면 좋겠습니다. 12프로 뚫으신분은 도움 부탁드립니다 ㅠ

changu02   2년 전

저도 4퍼센트에서 막히고 14퍼센트에서 막힌다음 뚫었습니다. 아마 대부분 막힌분들께서 2배를 해주기위해서 arr[i][j] 와 arr[i][j+1] 이 같은지를 검사하고 첫번째꺼를 두배로해주고 뒤에것을 0으로 해줬을건데, 이 방법이 생각해보니까 숫자사이에 0 이 없는 경우를 전제로 한 풀이더군요. 그래서 우선 숫자사이에 있는 0들을 고려하지 않도록 한쪽으로 몰아주는 작업이 필요합니다. 

예를들어

0202

0000

0000

0000

이있다고하면 저방법으로하면 위의 2들은 합쳐지지 않습니다. 따라서 왼쪽으로 민다고치면,

2200

0000

0000

0000

으로 몰아주는 과정을 먼저 한뒤에 진행하여야 합니다.

jimjim   2년 전

2%에서 틀렸다고 떠서보시

위로 올리는 부분에서 문제가 있더라구요 저는 0 있는 부분 채우는 곳에서 에러가 있던데..

위의 코드는 열심히 살펴보지 않아서 잘 모르겠어요.

혹시나 도움이 될까해서 올립니다.

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