pso999   4년 전

'거의 최단 거리' 문제 풀고 있는데

  1. 다익스트라 한번 돌려서 최단 경로 구함
  2. '모든' 최단 경로들을 삭제
  3. 다시 최단 경로 계산하여 출력

의 형태로 풀었는데 Python 3에서 시간 초과가 났습니다.

그런데 아무리 머리를 싸매고 고민해봐도 다익스트라 한번에 푸는 방법이 생각 안났습니다.

그래서 질문 게시판을 찾아봤는데 생각보다 시간 초과 뜨시는 분들이 몇 없더라고요.

호오오옥시나 하면서 PyPy3로 돌려보니까 아주 쿨하게 바로 통과하네요;

이전에도 Python 3에서 시간 초과 나는게 PyPy3에선 통과되는 경우가 몇 있긴 했지만

최근에 풀었던 문제들은 그런 경우가 거의 없었어서

며칠간 로직 고민 엄청 했는데 다소 허무하군요 :-(

하지만 파이썬에서도 통과한 분들이 몇 분 계시기 때문에

더 나은 방법이 있긴 한가봅니다 :0

pso999   4년 전

정답자분들 코드 확인해봐도 다익스트라 두번 쓰시는거 똑같네요.

확인해보니까 그냥 

from sys import stdin
input = stdin.readline

이거 붙여주면 Python3로도 통과하네요.

물론 저도 PyPy3에서 돌리면 보통 더 빠르다, stdin.readline 쓰면 조금 더 빨라진다는 것 알고는 있었지만

로직에만 집중하느라 이쪽 문제일거라 생각은 못했네요...

시간 초과 나시는 분들은 꼭 readline 사용하세요 ^_ㅠ

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