muny018   3년 전

BOJ 20056 마법사 상어와 파이어볼 문제에서 

파이어볼의 이동을 위해서 queue를 사용하였고
이 후 충돌나는 파이어볼 정보를 저장하기 위해 vecter[i][j] 행렬을 사용하게 되었습니다. 

모기업 SW역량테스트 시험에서 비슷하게 문제가 나왔는데, 시험장에서는 10개의 테스트케이스를 다 통과했었습니다.

+ 백준에 나온 예제들도 문제없이 통과, 그렇지만 백준에서 정답 제출했을때는 바로 런타임 에러가 뜨네요.

혹시 SW역량테스트 결과도 런타임 에러 났을까봐 걱정이 되네요 ㅠㅠ.....,.,..,


제가 예상하기에

vector[52][52]; 벡터 행렬을 전역에 선언했고, 해당 벡터는 Struct로 이루어져 있습니다.

또한 전역에 Queue 선언하여 썼는데, 혹시 요거 때문에 OverFlow가 나서 런타임에러가 나고 있는게 아닌가 의심하고 있습니다.

명확하게 원인파악이 안되어 이렇게 질문 게시판에 올려봅니다. 

아래 코드는 런타임 에러가 발생하고 있는 코드입니다. 

조언을 해주셨으면 합니다. 
 

kcan1416   3년 전

134번 라인부터 있는 범위 벗어나는 위치를 보정해주는 부분이 잘못되어서 그렇습니다

if와 else if를 모두 while로 바꿔주시면 런타임에러는 해결됩니다

muny018   3년 전

kcan1416 님 감사합니다.

음 ... 주어진 조건을 보고 생각을 했어야 했는데, 가장 기본적인건데 제가 놓치고 있었네요.

Speed의 조건이 1<= S <= 1000 이었다니 ... .ㅠㅜㅠㅜㅠㅜ 

혼자서는 안보였는데, 도와주셔서 감사합니다. 

danimartinwife   3년 전

저도 거의 똑같이 풀었는데 while문대신 시간아끼려고 나머지연산자썼고 논리엔 이상 없는데 틀렸습니다라고 떴네요....

kcan1416   3년 전

혹시 좌표가 음수일때 나머지 연산을 어떻게 하셨나요?

n-(-x)%n 이런식으로 하셨으면 여기에 나머지연산을 한번 더해서 (n-(-x)%n)%n이렇게 해주셔야 합니다

danimartinwife   3년 전

@kcan1416 기존 코드는 이렇습니다. 

kcan1416   3년 전

위 코드에는 문제가 없어보이네요
전체코드를 봐야할 것 같습니다

danimartinwife   3년 전

@kcan1416 님 여기에 제 코드랑 저랑 접근법 비슷하셨던 분 코드 모두 있습니다.

https://www.acmicpc.net/board/...

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