만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

서로 다른 변을 쓰는 신장 트리

시간 제한2초메모리 제한512 MB

요약
완전 그래프의 정점 수 N과 개수 K가 주어질 때, 서로 변을 공유하지 않는 K개의 신장 트리를 출력하거나 불가능하면 -1을 출력한다.
난이도

어려움10점 중 8점

유형
그래프, 그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

NN개의 정점을 가진 완전 그래프가 주어진다. 변이 서로 겹치지 않는 신장 트리 KK개를 구하시오.

위 그림에서 가장 왼쪽은 정점이 네 개인 완전 그래프이고, 나머지 두 그림은 이 그래프의 신장 트리 두 개로, 두 트리는 변을 공유하지 않는다.

입력

첫째 줄에 두 정수 NN과 KK가 주어진다. (2≤N≤1042 \le N \le 10^4, 1≤K≤1001 \le K \le 100)

출력

조건을 만족하는 신장 트리 KK개가 존재하지 않으면 −1-1을 출력한다.

그렇지 않으면 신장 트리 KK개를 출력한다. 각 신장 트리는 N−1N - 1개 줄에 걸쳐 출력해야 한다. ii번째 줄에는 ii번째 변의 두 끝점을 나타내는 두 정수를 공백으로 구분해 출력한다. 정점 번호는 11부터 NN까지이다. 연속한 두 트리 사이에 빈 줄을 출력해도 된다.

예제2

  1. 예제 1

    입력
    4 2
    
    예상 출력
    1 2
    1 4
    2 3
    
    1 3
    2 4
    3 4
    
  2. 예제 2

    입력
    4 3
    
    예상 출력
    -1