qlqh0987   3년 전

게시판에 있는 테스트 케이스
다 확인해보진 못했어도 https://boohyunsik.github.io/exit-marble-test-case/ 여기 포함해서 150개 정도 확인해보았는데 반례를 찾지 못했습니다...

절반도 못넘기고 바로 틀렸습니다가 출력되네요..

BFS 알고리즘을 C로 구현하였고요, board_get_min_do_tilt() 함수를 호출하면 지역변수로 큐를 생성하고, 해당 큐를 이용해서 검색을 하도록 구현했습니다.

구슬 굴리는 함수는 board_do_tilt() 함수에서 구현했고요,
반복문 이용, R이랑 B 모두 안움직였거나 B가 구멍에 들어가면 큐에 저장 안되도록 하고, 
큐를 POP할때 이전에 기울였던 방향정보도 같이 읽도록 해서 이전에 기울였던 방향의 수직방향으로만 기울이도록 구현했습니다..

혹시 반례나 코드 오류 발견하시면 댓글로 알려주시면 감사하겠습니다!!

qlqh0987   3년 전

자답합니다. 코드가 너무 난잡한거 같아서 갈아엎고 다시해봤더니 풀렸습니다.

코드가 난잡하다보니 어디선가 꼬이지 않았었나 싶네요...

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