혹시 백준에서 malloc으로 1만개 이상으로 배치하면 런타임에러가 나나요?

또한 문제를 어떻게 이거 해결해야할지 모르겠습니다...

djm03178   4년 전

할당 크기의 제한은 따로 없습니다. 문제는 res의 크기입니다. 10000자리의 수 두 개가 주어지면 곱해야 하는 조합은 총 몇 개일까요?

이렇게 res의 크기를 늘렸는데 메모리 초과래요ㅜㅜ

이거 자체의 로직은 맞나요? 여기서 뜯어 고쳐야할지 아니면, 메모리 초과를 해결하기 위해서는 로직을 새로짜야할까요? 어렵네요.. 

djm03178   4년 전

어차피 나중에 개별적으로 더해주기만 할 건데, res라는 배열에 굳이 다 담아둘 필요가 있을까요?

너무 많이 틀려서 머리를 좀 식히고 다음에 해봐야겠네요.. 답변 감사합니다.

안녕하세요. 다시 문제를 풀어보려고 하는데, 다음과 같은 소스로 생각해봤습니다.

10000자리 수 두개가 주어지면 10^8의 경우의 수가 생기는데 혹시몰라서 long long으로 sum을 잡아놓고 저장했습니다.

또한 한번 받을 때 str을 10001개로 잡았으니까 메모리상에도 문제가 없겠고, str1과 str2에 저장되는 내용물을 print해봤는데 뒤에 이상한 문자가 붙길래 len1-1 len2-1 부분에 \0으로 비워놨는데 이렇게 하면 문제가 없다고 생각합니다.

그리고 22행부터 시작되는 2중 for문 자체의 로직에 문제는 없다고 생각하는데 어떻게 보시나요?

djm03178   4년 전

그대로 제출하니 맞네요.

아...............ㅎ; 그렇군요. 감사합니다. 한달만에 풀었네요.

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