오늘 해결할 수없는 질문이 있습니다.
티켓의 경로 인쇄
빈번한 여행자는 모든 여행 티켓을 수집합니다. 티켓에는 출발지 위치 시작 이름과 목적지 이름의 두 속성 만 있습니다. 델리에서 뉴욕까지의 예. 연말에 여행자는 모든 티켓을 모아 일년 내내 여행 계획을 세웁니다. 예상 여행 경로를 읽을 수있는 형식으로 인쇄하십시오. 그는 시작 위치를 기억하지 못합니다. 그는 여러 번 장소를 방문 할 수 있으며, 여러 번 앞뒤로 이동할 수도 있습니다.
초기에는 그래프를 만들면 (티켓 A는 B로 방향이 지정된 A-> B를 의미 함) 단순한 깊이 첫 번째 탐색을 사용하여 0도 (??) 인 노드에서 간단히 해결할 수 있다고 생각했습니다. 하지만 그 다음에는 랜덤 한 연결되지 않은 경로를 인쇄 할 수있는 솔루션을 얻는 올바른 방법이 아니라는 것을 깨달았습니다.
올바른 방법을 제안하십시오.
"eulerian path"로 검색 –
모든 여행에 관련 항공권이 있다고 가정하면 (즉, 시카고로 비행하지 않은 다음 뉴욕으로 운전하여 보스턴으로 비행기를 타지 않았 음), A에서 B로 날아간다면, 다음 여행은 B.에서 시작해야합니다. 제한을 유지하면 연결되지 않은 임의의 경로가 생성되지 않습니다. –
@JimMischel은 우리가 현재 B 도시에 있고 목적지 (a1-b, a2-b, a3-b ...) 및 소스 (b-c1, b-c2, b) -a1, ...) 이제는 도시 B에서 어떤 경로가 먼저 연결되어 연결 경로로 연결되는지 판단하는 방법 (연결 수단 끝과 시작 지점은 항상 동일하게 유지해야 함). –