tjdahr25   2년 전

기존 외판원 문제와 같이

[노드번호][bit] 형태로 2차원 배열을 선언하기엔 p의 범위가 20까지고, n의 범위가 100000까지라 너무 크더군요..

각 노드와 그때 bit에 대해 최소 거리를 저장할 수 있는 방법중에서 더 효율적으로 저장할 수 있는 방법이 무엇이 있을까요?

dk10211   2년 전

p개의 정점들에 대해 각각 다익스트라를 돌려서  p*p 배열에 값을 넣고 각각 시작 지점과 끝 지점으로 가는 비용만 저장하면 기존 외판원 문제와 비슷해지고 나머지 n개의 정점을 생각할 필요가 없어요

tjdahr25   2년 전

그런 아이디어가 있었군요..! 

시작, 중간, 끝 지점들을 모두 포인트로 저장해 시작에서 끝까지 모든 정점을 한번씩 탐색하는 경우로 생각해서 문제를 풀었습니다.

근데 자꾸 81퍼센트에서 WA가 뜨네요.. 변수형도 잘 맞춘 것 같은데 뭐가 문제일까요ㅠㅠ..

dk10211   2년 전

제출해보니까 자료형 문제네요.

다익스트라를 돌릴때 int 범위를 벗어나서 그래요. 우선순위 큐 선언을 pii대신 pair<long long,int>넣으시고 int weight 대신 long long weight으로 하면 AC받아요

tjdahr25   2년 전

아 그렇군요!!!!!

바보같은 실수를 하고 있었네요..

또 하나 배워갑니다

정말 감사합니다!!

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