aaamy91   9년 전

첨부한 소스코드대로 푸니까 시간초과가 떠서

32번째 줄과 43번째 줄의

m-(j/2+2)를 그냥 2로 바꿨더니 런타임 에러가 납니다.

저희 학과 서버에서 돌려도 잘 돌아가고

제 pc의 우분투에서 돌려도 잘 돌아가는데 뭐가 문제인지 모르겠습니다.

런타임 에러도 안보여주고 답답합니다

yukariko   9년 전

당연히 런타임에러가 나지않을까요?

배열b는 2차원배열인데 크기가 [2][m]이죠.

그런데 말씀하신대로 코드를 2로바꾸게되면

b[0][j/2+2+k] 에서 오버플로우가 발생하게됩니다.

m이 10이라고 하면 j는 최대 2*m-1즉 19의 값을 가지게 되는데, 2로나누게되면 9죠.

거기에 +2만 해도 오버플로우가 날탠데.. k까지 더해주면 당연하겟지요.

사실 소스를바꿔주는 for문 위의 if문에서부터 오버플로우가 발생하기때문에 전체적으로 문제가있는 소스로 보여집니다.

aaamy91   9년 전

아 제가 컴파일 에러랑 헷갈렸네요 죄송합니다...

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