불러오는 중
다음 함수는 재귀 호출 앞뒤에서 각각 한 번씩 값을 기록한다.
f(k):
k가 1보다 작으면 아무것도 하지 않고 끝낸다
첫째 줄에 k를 기록한다
f(k - d)를 호출한다
호출이 끝나면 둘째 줄에 k를 기록한다
f(n)을 호출했을 때 첫째 줄에 기록한 값들과 둘째 줄에 기록한 값들을 출력한다. 첫째 줄은 호출이 안으로 들어가는 순서이고, 둘째 줄은 호출이 밖으로 되돌아오는 순서이다.
값을 출력할 때 print(k, end=" ")를 쓰면 줄 끝에 공백이 남아 틀린 답이 된다. 리스트 두 개에 값을 모아 두고 마지막에 print(*down) 꼴로 출력한다.
첫째 줄에 정수 n과 d가 공백으로 구분되어 주어진다.
첫째 줄에 재귀 호출 앞에서 기록한 값들을 기록한 순서대로 출력한다. 둘째 줄에 재귀 호출 뒤에서 기록한 값들을 기록한 순서대로 출력한다. 값 사이는 공백 하나로 구분하고 줄 끝에 공백을 남기지 않는다.
1≤n≤900이고 1≤d≤100이다. 호출 깊이는 최대 900이다.
입력
5 1
출력
5 4 3 2 1
1 2 3 4 5
입력
10 3
출력
10 7 4 1
1 4 7 10