qkqhxla1   7년 전

1. 첫줄과 끝줄은 줄 전체를 검사합니다. 첫줄과 끝줄이 아니면 [i][0]과 [i][w-1]번째 인덱스만 검사합니다.(외부 벽 판별용입니다.)

2. 검사하면서 빈 벽이나 문(영어대문자), 키(영어소문자), 문서($)가 나오면 각각을 처리해줍니다.

빈벽 : bfs실행

문 : 현재 키 가지고 있는지 확인후 있으면 문을 빈벽으로만들고  bfs실행.

키 : 키를 목록에 추가후 키가있던자리를 빈벽으로만들고, 키를 발견하면 무조건 0행부터 다시 처음부터 탐색.(문보다 키가 아래에 있는 경우를 위해서.)

문서 : 문서값을 ++해준후 자리를 빈벽으로만들고 bfs실행.


왜 틀렸는지 잘 모르겠습니다... 테스트 케이스좀 주시면 엄청나게 감사하겠습니다 ㅠㅠ


-- 코드삭제 --

zlzmsrhak   7년 전

코드를 보면, 144~160번째 줄에서 i=-1을 대입한 후, check(i, j)를 호출하게 됩니다. 이 경우 음수 인덱스를 참조하게 되어 틀릴 수 있습니다.


qkqhxla1   7년 전

헐. 솔직히 코드가 엄청 길어서 기대안했는데;;;; 말씀해주신거 하나 고치니까 정답뜨네요 정말 정말 감사합니다!!!!!!!!!

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