11328번 - Strfry
어떤 경우에서 틀리는 경우가 생길까요?
매 케이스마다 freq1, freq2의 초기화를 해줘야 합니다.
안녕하세요! 혹시 같은 문제 제가 푼 코드 봐 주실 수 있으실까요?
선생님꼐서 말씀해주신대로 각 케이스마다 초기화를 하여 문제를 통과하였으나
초기화를 하지 않은 상태에서도 문제를 돌려보니 정답이 모두 제대로 나옵니다.
어떤 이유 때문인지 궁금합니다.
예제가 초기화에 영향을 안 받게끔 만들어져 있으면 예제는 정답이 나옵니다. 하지만 채점에는 예제만 쓰이는 게 아니기 때문에 초기화를 안 했을 때 틀리는 케이스가 하나라도 들어가 있으면 틀리게 됩니다.
예제 뿐만 아니라 다른 문제가 될 만한 것들을 넣어보았는데도 vscode에서는 잘 돌아갔습니다.
이게 문제가 되는 것이 오차가 누적이 되는 것이라고 생각해서 처음에 일부러 틀린 케이스를 넣고 그 후를 맞는 케이스를 했음에도 잘 나오더라구요! 그래서
어떠한 부분이 차이를 만들었는지 잘 모르겠습니다ㅠㅠ.
제가 작성한 코드는 아마 해당 문제 번호를 누르면 가장 위에 뜨는 질문일 겁니다!! ㅎㅎ
https://www.acmicpc.net/source... 를 말씀하시는 거라면 이 코드는 초기화 이전에 find 변수의 사용이 잘못돼서 예제도 정답을 출력하지 못합니다.
https://ideone.com/e5liFk
그 부분을 제대로 고친 코드는 다음과 같은 반례가 있습니다.
https://ideone.com/QVHBg5
댓글을 작성하려면 로그인해야 합니다.
bsm7302 3년 전
어떤 경우에서 틀리는 경우가 생길까요?