실험
면접 대비시간 제한2초메모리 제한1024 MB
각 단계가 두 장치 중 하나를 필요로 하고 선행 조건이 있을 때, 장치를 바꾸는 횟수가 최소가 되도록 단계를 수행하는 순서를 구한다.
문제
오늘 이고르는 자기장 속에서 화학 반응이 진행되는 과정을 연구하는 실험을 할 수 있는 허가를 드디어 받았다. 실험에는 자기장 발생기와 시약을 연결하는 조작기, 두 설비가 사용된다.
실험은 여러 단계로 나뉘며, 어떤 단계는 다른 단계들을 모두 마친 뒤에만 수행할 수 있다. 실험을 진행하는 방법이 적어도 하나는 존재한다는 것은 알려져 있다. 각 단계에서 이고르는 두 설비 중 정확히 하나, 즉 발생기나 조작기 중 하나를 조작해야 한다.
이고르는 시간을 아끼기 위해 설비 제어대 사이를 최소한으로 이동하면서 실험을 끝내고 싶어 한다. 이를 위해 어떤 순서로 단계를 수행해야 하는지 구해 주자.
입력
첫째 줄에 실험 단계의 수 이 주어진다 ().
다음 개의 줄에는 각 단계의 설명이 주어진다. 단계에 1부터 까지 임의의 순서로 번호를 붙였을 때, 번째 줄은 번 단계를 설명한다. 각 단계는 정수들의 나열로 설명된다. 첫 번째 수는 이 단계에서 이고르가 발생기를 조작하면 0, 조작기를 조작하면 1이다. 그다음에는 이 단계를 수행하기 전에 수행해야 하는 단계의 수 가 주어진다. 그 뒤에는 그 단계들의 번호가 개 주어지며, 모두 1부터 사이의 서로 다른 정수이다.
출력
첫째 줄에 이고르가 해야 하는 최소 이동 횟수를 출력한다. 둘째 줄에는 1부터 까지의 수를 나열한 순열, 즉 단계를 수행해야 하는 순서를 출력한다. 답이 여러 개라면 그중 아무거나 출력한다.