danbi5228   3년 전

결과를 저장(cnt)할 때, 벡터로 구현하였을 때는 런타임에러가 뜨고

배열로 작성하니 틀렸습니다 가 뜹니다. 두 구현 모두 25%에서 ,,, 에러가 납니다 ㅠㅠ

고수님들 부탁드립니다 ㅠㅠ!!!


djm03178   3년 전

str[i] = new char[M];은 str[i][0]부터 str[i][M - 1]까지를 쓸 수 있게 해줍니다.

cin >> str[i]; 에서 M개의 문자가 입력되면 str[i][0]부터 str[i][M - 1]까지는 그 문자들이 들어가고, str[i][M]에는 널 문자가 들어갑니다. 그런데 여기는 할당이 되지 않은 공간입니다. 무슨 일이 일어날지 예측할 수 없습니다.

danbi5228   3년 전

범위를 크게 만들어도 똑같은 에러가 나네요 ㅠㅠㅠㅠㅠㅠㅠ 다른 문제점은 없을까요? ㅠㅠ

djm03178   3년 전

지금처럼 BFS를 수행하면 중복 방문을 하게 될 듯 합니다. 예를 들어

01

11

과 같은 상태에서 왼쪽 아래와 오른쪽 위가 모두 큐에 들어가있다면, 각각이 오른쪽 아래를 큐에 넣는 동안 막아세울 장치가 없습니다. 그래서 BFS는 큐에 넣음과 동시에 방문 체크를 해버려야 됩니다.

startlink   3년 전

다음부터는 이런 글은 카테고리 질문에 글을 써주세요.

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