wldus4498   5년 전

bfd로 풀었고 큐의 형태는  queue<pair<vector<char>, int>> 입니다

시간초과라고 뜨긴 하는데 제 코드에 무슨 문제가 있는 걸까요 ?

djm03178   5년 전

지금까지 지나온 경로를 통째로 큐에 넣으면 매번 전체를 복사해야 하므로 시간이 오래 걸립니다. 지금 문제는 그것도 효율적으로 만들면 통과될 수 있기는 한데, vector<char>는 너무 무겁습니다.

경로 전체를 저장하지 않고 각 수가 어떤 수로부터 어떤 명령에 의해 왔는지만 저장해두고 나중에 목적지에 도달했을 때만 역추적해서 전체 경로를 얻어내는 식으로 하면 빠르게 풀 수 있습니다.

wldus4498   5년 전

감사합니다 해결했어요 ! 

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