https://www.acmicpc.net/problem/14244
문제를 이해하기 위해 그래프를 그리는 곳에 입력해 예제 출력을 각각 넣어 보았다.
그림을 보면 리프는 무조건 2개 이상 생긴다. 그리고 루트를 어느 것으로 정하느냐에 따라 트리의 모양이 바뀔 수 있다.
n, m = map(int,input().split())
cnt = 0
for i in range(n-1):
print(cnt,i+1)
if n-m>cnt:
cnt+=1
n-m까지만 직선노드를 증가시키면 해결!
나머지는 모두 마지막 부모 노드에 리프로 달아준다.