snailgod86   2달 전

아진짜 이거때문에 백준접을뻔햇어요!!!!!!!!!!!!!

C로 몇번을 해도 안되다가 C++로내니까 바로되요 으아아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅇ니ㅏㄹㅇ니;ㄴ믕ㅁ;능ㅁㄴ;음ㄴ;음ㄴ;ㅣㅡㅇ;ㅁ능베줄리ㅏㅇ푸;ㅣ푹;파ㅜㄹ피ㅏㅜㅇ맆루팾ㄷ갸ㅜ필ㅇ나ㅜ피두ㅇ니러ㅟㄴ아ㅜ린아ㅜ라ㅣㄴㅇㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏCAPTCHA으아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ

lovinix   2달 전

c로 풀어서 제출해봤습니다. 잘되는것같습니다.

9d9bd2e0-274b-4bfc-b8da-ca3473db2160

snailgod86   2달 전

fab6bdcd-e70f-468e-9eee-a6c6008e2ce7 이 미스테리한 상황은 대체 뭐죠??????

djm03178   2달 전

n의 크기가 너무 작습니다. 2진수로 10억은 111011100110101100101000000000 으로 20자를 넘어갑니다.

배열의 크기를 넘는 것은 어떤 동작을 야기할지 모릅니다. 이를 undefined behavior라고 합니다. C와 C++ 컴파일러가 생성해내는 실행 파일에 세부적인 차이가 있어 메모리 할당이 C로 하면 이를 조금만 벗어나도 영 좋지 않은 메모리 영역을 건드리게 되는 반면 C++로는 배열을 벗어남에도 불구하고 중요한 영역을 건드리지 않아서 그런 것으로 보입니다.

당연히, 이런 코드는 C든 C++이든 피해야 하고, C++로 해서 답이 맞은 것이 운이 좋았을 뿐입니다.

djm03178   2달 전

같은 코드를 n의 크기만 늘려서 C로 맞은 코드입니다.

https://www.acmicpc.net/source/share/e86733f1b9cf4ef39370aa65137e740b

djm03178   2달 전

덧붙여서, 채점 프로그램을 확실한 증거 없이 의심하는 것은 실제로 채점 프로그램에 문제가 있을 확률도 지극히 낮을 뿐더러, 자신의 코드에 있는 문제점을 찾으려고 하지도 않게 되므로 실력 향상에도 도움이 되지 않습니다. 항상 자신의 코드를 의심하는 것이 먼저이고, 내 코드가 틀렸음을 인정한 후 문제점을 찾아나설 수 있어야 디버깅 능력도 향상시킬 수 있습니다.

snailgod86   2달 전

질문 작성자분 잠을 못자서 미쳐버렸군요....

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