연결
시간 제한2초메모리 제한512 MB
각 연결 요소의 정점 가중치 합이 간선 가중치 합 이상을 유지하도록 후보 간선을 추가해 모든 정점을 연결할 수 있는지 판단하고, 추가할 간선의 순서를 출력합니다.
문제
개의 정점으로 이루어진 그래프가 있다. 정점에는 번호가 붙어 있다. ()번째 정점은 음이 아닌 정수 가중치 를 가진다.
처음에는 그래프에 간선이 없다. 그래프에 무향 간선을 추가할 수 있다. 추가할 수 있는 간선 후보는 개이다. 간선에는 번호가 붙어 있다. ()번째 간선은 정점 와 를 양 끝점으로 하고, 음이 아닌 정수 가중치 를 가진다.
목표는 모든 정점을 연결하는 것이다. 이를 위해 아직 추가되지 않은 간선 중 정확히 1개를 골라 그래프에 추가하는 연산을 원하는 만큼 반복할 수 있다. 단, 어느 순간에도 다음 조건이 성립해야 한다.
- 그래프의 어느 연결 요소에 대해서도, (정점 가중치의 합) (간선 가중치의 합)이다.
모든 정점을 연결할 수 있는지 판정한다.
입력
출력
모든 정점을 연결할 수 없으면 -1만 한 줄에 출력한다.
모든 정점을 연결할 수 있으면 간선을 추가하는 방법 하나를 다음과 같이 출력한다.
- 첫 줄에 추가할 간선의 수 ()을 출력한다.
- 다음 개 줄의 번째 줄에는 번째로 추가할 간선의 번호 ()를 출력한다.
제한
- 는 정수이고,
- 는 정수이고,