rudxo007   3년 전

dev-c++ 툴을 사용해서 돌렸을때는 결과값이 잘 나오는데

여기서 런타임 에러가 나오는데 어디서 잘못 되었는지 잘 모르겠습니다.

지적해주시면 감사드리겠습니다.

cardbt   3년 전

for (i=1; i<=N; i++) { }

여기 사이에 있는 list[i]가 list[N]까지 가버리면 죽을거 같은데욥~!

cardbt   3년 전

윗쪽 for문도 마찬가지군욥..

N전까지 돌지만 넣을때는 +1을 하시니까 결국 N까지 돌게 되는셈이네요.

malloc 하셨을때 N만큼만 하셨으니 인덱스로 N이 들어가믄 안되것찌용

rudxo007   3년 전

말씀하신대로 수정했는데 이제는 틀렸다는 메세지가 뜨는데 알고리즘 자체를 잘못짠건가요 제가?

cardbt   3년 전

작성하신 로직으로는 한 번 정해진 색으로 칠하고는 더 작은 값이 나와도 처리가 되지 않게 됩니다.

한 node의 최적 값이 반드시 전체의 최적값은 아니다. 놓치셨어요.

예를 들어


10 11 12

8 20 20


이라고 하면, 작성하신 로직대로라면 10 20 이 선택되어 결과가 30이 나오게 되는데, 실제 원하는 값은 11 8이 되어 19가 되어야합니다.


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