Backward Digit Sums
시간 제한1초메모리 제한1024 MB
N과 목표 합이 주어질 때, 인접한 수를 계속 더해 하나의 수가 되는 과정의 결과가 목표 합이 되는 1..N의 순열 중 사전순으로 가장 앞선 것을 찾는다.
문제
FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 ≤ N ≤ 10) in a certain order and then sum adjacent numbers to produce a new list with one fewer number. They repeat this until only a single number is left. For example, one instance of the game (when N=4) might go like this:
3 1 2 4
4 3 6
7 9
16
Behind FJ's back, the cows have started playing a more difficult game, in which they try to determine the starting sequence from only the final total and the number N. Unfortunately, the game is a bit above FJ's mental arithmetic capabilities.
Write a program to help FJ play the game and keep up with the cows.
입력
- Line 1: Two space-separated integers: N and the final sum.
출력
- Line 1: An ordering of the integers 1..N that leads to the given sum. If there are multiple solutions, choose the one that is lexicographically least, i.e., that puts smaller numbers first.