BFS 알고리즘을 C로 구현하였고요, board_get_min_do_tilt() 함수를 호출하면 지역변수로 큐를 생성하고, 해당 큐를 이용해서 검색을 하도록 구현했습니다.
구슬 굴리는 함수는 board_do_tilt() 함수에서 구현했고요, 반복문 이용, R이랑 B 모두 안움직였거나 B가 구멍에 들어가면 큐에 저장 안되도록 하고, 큐를 POP할때 이전에 기울였던 방향정보도 같이 읽도록 해서 이전에 기울였던 방향의 수직방향으로만 기울이도록 구현했습니다..
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할때 이전에 기울였던 방향정보도 같이 읽도록 해서 이전에 기울였던 방향의 수직방향으로만 기울이도록 구현했습니다..
혹시 반례나 코드 오류 발견하시면 댓글로 알려주시면 감사하겠습니다!!