harinboy   5년 전

알고리즘은 맞는 거 같고,

제가 생각할 수 있는 대부분의 상황에서 잘 돌아갑니다.

그런데 틀리면 틀렸지, 10번째 런타임 에러를 받고 있네요ㅠㅠ

배열 크기가 문제인가 싶어서 계속 배열에 뭐가 들어가는지 확인도해봤는데 답이 나오지 않습니다.

n, m, b를 최대치로 놓고 돌려도 잘 돌아가더라구요.

그 다음으로 걸리는건 while문인데 얘도 num이 계속++되니까 언젠가는 탈출해야하고요....

고수님 분들, 도와주세요!!

rdd6584   5년 전

d배열의 크기가 너무 큽니다.

메모리초과 대신 런타임을 받으신 게 아닌가 생각듭니다.

rdd6584   5년 전

위 문제는 간선정보를 배열로 표현하기에는 정점의 개수가 너무 많고, 한 정점에서 다른 정점으로 가는 간선이 여러 개일 경우를 처리해주지 못합니다. 동적배열이나 stl의 vector같은 구조를 사용하셔야 할 듯 합니다.

chogahui05   5년 전

21000^2 = 4.41억이군요.. int형 하나당 4byte이므로

16.41억 바이트 = 1641백만byte = 1641M = 1.6G

harinboy   5년 전

감사합니다!

런타임 에러를 안 띄우는거에 급급하다보니까 다른 생각을 전혀 못했네요ㅠㅠ

차라리 메모리 초과라고 솔직하게 알려줬으면 그래도 일찍 알았을 텐데

알고리즘은 알아도 코딩은 초보라 벡터 이런거 처음 써보고 열심히 배워서 결국 맞았습니다를 얻어냈습니다!!

네블컵 재미있게 참가했구요 조악한 코드 읽어주셔서 감사합니다.

chogahui05   5년 전

ㄷㄷ 돌떡 푸셨네요. ㄷㄷ

전 젤 어려운 문제로 봤는데.. ㄷㄷ..

이 참에 중국인의 나머지 정리를 공부해 볼까 싶네요..

rdd6584   5년 전

대회 참여해주셔서 진심으로 감사합니다.

harinboy님 처음 뵈는 분인데 너무 잘푸셔서 솔직히 놀랐어요.

harinboy   5년 전

수학을 더 중점적으로 공부하다가 본격적인 코딩은 비교적 최근에 시작한 편입니다.

이번 네블컵에서 정수론적인(?) 문제가 좀 있어서 특히 재미있게 할 수 있었던 것 같습니다.

칭찬 감사드립니다!

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