우리 고향 인 Rhyl 은 일방 통행 교통 시스템을 갖추고있어 사람들이 가능한 한 오랫동안 목적지에서 멀리 떨어지도록 설계되었습니다. 당신이 그것을 시도하기로 선택한 경우, 당신의 임무는 그러한 교통 시스템을 통해 가장 짧은 경로를 제공하는 프로그램을 만드는 것입니다.
입력
입력은 on STDIN이며 다음과 같이 시작 및 끝 지점 목록과 빈 줄, 쿼리 목록이됩니다.
A B
B A
B C
C D
D C
A D
C A
B A
각 도로는 주어진 방향으로 만 이동할 수 있으므로 위의 예에서 도로 A-B는 양방향 거리 인 반면 B-C는 B에서 C까지의 일방 통행 거리입니다. C에서 B로 여행 금지되어 있습니다.
시작점과 끝점은 모두 대문자로 표시됩니다.
산출
출력은 주어진 시작 지점에서 수신 된 각 쿼리에 대해 지정된 끝 지점까지의 최단 경로 (방문한 지점 수로 측정) 여야합니다. 이러한 경로가 없으면 빈 줄을 출력하십시오. 최단 경로가 둘 이상 존재하는 경우, 모든 최단 경로를 사 전적으로 정렬 할 때 첫 번째 경로를 출력하십시오.
위의 예에서 출력은 다음과 같습니다.
A B C D
B A
테스트 스크립트
이전과 마찬가지로 Joey 와 Ventero가 작성한 스크립트를 기반으로이 작업에 대한 테스트를 제공 하고 있습니다 .
위의 스크립트를 사용할 수없는 사람을위한 테스트 및 예상 출력
용법: ./test [your program and its arguments]
보상
사양을 충족하고 모든 테스트를 통과 한 골프를 시도한 모든 답변은 저의 찬사를 얻습니다. 2012 년 1 월 26 일까지 최단 작업 답변이 수락됩니다.
output the first when sorting all shortest routes lexicographically- 그렇다면A B D와A C D모두 유효한 솔루션은 출력A B D대신?