내 교수는 우리가 휴일에 생각할 문제를 주었지만 해결할 수있는 올바른 방법이 있는지 확신하지 못했습니다.특정 작업을 사용하여 해당 와이어의 시작과 끝을 찾는 데 필요한 이동 횟수
문제는 다음과 같습니다. 지점 A에서 지점 B로가는 N 개의 와이어 (1 ≤N ≤ 10^6)가 있지만 어느 와이어 끝이 어떤 와이어 시작에 해당하는지 알 수 없습니다. 점 A와 B
- 여행이 파악하는 방법은 세 가지가 있습니다. (이는 와이어의 서브 세트를 가져 와서 단 하나의 결말로 엔딩을 사용할 수 있도록 연결 함을 의미합니다)
- 전선이 연결되었는지 테스트합니다. (예를 들어, 일부 전선이 A 지점에 연결되어 있고 B 지점에서 연결된 케이블 중 하나에 전원이 공급되는 경우 연결되어있는 케이블도 볼 수 있습니다)
목표는 A와 B 사이에 필요한 최소 이동 횟수를 계산하는 것입니다.
예 우리는 2 개의 여행을 필요로하는 3 개의 철사를 위해 : 우리는 두 개의 철사를 연결하고 세 번째를 호출합니다. 그리고 다른 지점으로 여행하고 어떤 철사가 다른 두 전선에 연결되어 있지 않은지 테스트합니다. 그러면 A 와이어 여야합니다. 그런 다음 A를 다른 와이어와 연결하고 B 라하고 다시 여행합니다. 이제 우리는 A에 연결된 케이블을 찾아야합니다.이 케이블은 B이어야하며 세 번째 케이블은 C이어야합니다.
불행히도 일부 N의 경우 어떤 선이 어떤 것인지 예를 들어 알 수 없습니다. N = 2 인 경우 (N = 2가 유일한 경우). N = 1은 제로 이동을 의미합니다.
이 문제를 해결하는 방법에 대한 조언은 대단히 감사하겠습니다.
내가 가진 비슷한 생각 이었지만 문제가 없다고해도 너무 단순한 것처럼 보였기 때문에 그것이 옳은 것인지 완전히 확신 할 수 없었습니다. 이 솔루션을 확인할 가능성이 없기 때문에 다른 사람들이 생각하는 것을보기 위해 여기에 문제를 게시했으며 분명히 옳았습니다. – user538331