1107번 - 리모컨
+ - 버튼으로만 이동했을 때 보다 작은 경우에서만(start ~ end) 가능한 숫자가 있는지 확인했습니다.
src = 100
dest = N(입력값)
start = max(0, dest - abs(dest - src))
end = dest + abs(dest - src);
c#코드는 88%에서 런타임 에러가 납니다
c++ 코드는 최대한 c#과 동일하게 만들었고 통과되었습니다.
c# 으로 하다보면 종종 성공하지 못하는 경우가 생기는데,
대부분 메모리 오버, 입력 버퍼 크기 가 작을 때 등 이었습니다.
이 경우는 무슨 문제 일까요?
저도 python3로 풀었는데 88%에서 똑같이 런타임 에러가 나서 몇가지 테스트를 해보니
M=0일때 오류가 나는 문제였습니다.
혼자 테스트 할때는 M=0이면 그냥 엔터 한번 더 누르지만 서버에서는 아예 입력이 추가로 없는것 같네요
M=0일때에 readline을 안하고 그냥 처리해주면 C#에서도 AC가 뜰겁니다
댓글을 작성하려면 로그인해야 합니다.
milkpekoe 6년 전
+ - 버튼으로만 이동했을 때 보다 작은 경우에서만(start ~ end) 가능한 숫자가 있는지 확인했습니다.
src = 100
dest = N(입력값)
start = max(0, dest - abs(dest - src))
end = dest + abs(dest - src);
c#코드는 88%에서 런타임 에러가 납니다
c++ 코드는 최대한 c#과 동일하게 만들었고 통과되었습니다.
c# 으로 하다보면 종종 성공하지 못하는 경우가 생기는데,
대부분 메모리 오버, 입력 버퍼 크기 가 작을 때 등 이었습니다.
이 경우는 무슨 문제 일까요?