96번째줄 ret을 초기화하지 않으셔서 그렇습니다.
자바같은 경우 JVM위에서 돌아가니 환경과 상관없이 동일한 실행이 보장되나, C나 C++ 등은
ide에 따라 처리방식이 다르므로, 그냥 지역변수는 모두 초기화 이후에 사용하시는 습관을 추천드립니다.
2573번 - 빙산
96번째줄 ret을 초기화하지 않으셔서 그렇습니다.
자바같은 경우 JVM위에서 돌아가니 환경과 상관없이 동일한 실행이 보장되나, C나 C++ 등은
ide에 따라 처리방식이 다르므로, 그냥 지역변수는 모두 초기화 이후에 사용하시는 습관을 추천드립니다.
[해결] nahwasa 님 말씀대로 ret을 초기화 하지않아서 생긴 문제였습니다.
아... 꼼꼼히 확인한다고 확인했는데 ㅠㅠ 결국 기초적인 실수를 해버렸네요
코드 봐주시면서 허탈하셨을 것 같아 죄송합니다.
피드백 감사드립니다!
댓글을 작성하려면 로그인해야 합니다.
sharkpharaoh 4년 전
"틀렸습니다" 유형으로 문제풀이에 실패했습니다 ㅠㅠ
질문게시판 반례들이 그다지 도움이 안되서, 적절한 반례를 찾고 싶은데 도움을 받고 싶습니다.
생각한 풀이과정과 각 과정에 매핑되는 함수입니다.
<< 풀이 >>
2. 1칸짜리 BFS를 이용해 빙하의 높이를 줄입니다.
3. 이후에 빙하가 연결되어 있는지 BFS를 통해 검사합니다.
이때, 빙하가 몇 조각이 되었는지 기억합니다 또한 벡터에서 다 녹은 빙하의 좌표를 빼냅니다.
4. 2와 3번을 반복하며 몇번 반복했는지 기억합니다.
5. 3번의 과정중 빙하가 1조각 이상이면 카운트를 return 합니다. 혹은 빙하가 다 녹아버린경우 0를 return 합니다.
<<함수>>
void bfsNextYear() : 1칸 짜리 BFS를 실행하여 벡터 내의 빙하 크기를 줄입니다.
void bfsGlacier(Point start) : 호출 되면 start 좌표에서 BFS를 통한 빙하검사를 하여 check를 업데이트 합니다.
int bfs() : 인터페이스 입니다. bfsNextYear()를 실행한 후 벡터를 업데이트하고, 임의의 빙하 좌표에 대해 bfsGlacier()를 호출합니다.
int solve() : 입력 처리 및 4번의 과정을 담당합니다.
ㄹ 모양, U모양 , 도넛모양, L모양 등의 랜덤 데이터로 테스트 해보았는데 아직까진 반례를 찾지 못하였어요...
도움 주시면 감사하겠습니다!