CCO '01 P3 - Partitions

View as PDF

Submit solution

Points: 12 (partial)
Time limit: 2.0s
Memory limit: 64M

Problem type
Canadian Computing Competition: 2001 Stage 2, Day 1, Problem 3

Given a positive integer k, a partition is a sequence of positive integers in decreasing order whose sum is k. For example, (12), (2,2,2,2,2,2) and (5,3,2,1,1) are all partitions of 12. Given two distinct partitions, (a1,a2,,an) and (b1,b2,,bm), we will say that (a1,a2,,an)>(b1,b2,,bm) if, for the smallest positive integer t such that atbt, we have at>bt.

This ordering lets us put all the partitions of a given integer k in lexicographical order, where each partition in the ordering is greater than all the partitions before it.

For example, if k=5, the partitions in lexicographical order are

Copy
(1,1,1,1,1)
(2,1,1,1)
(2,2,1)
(3,1,1)
(3,2)
(4,1)
(5)

Given k (1k100) and a positive integer a (1a2×109), you are to find the ath partition in the list of partitions of k sorted in lexicographical order.

Input Specification

The input will consist of a line with N, the number of test cases, followed by N lines, each of the form k a, where k and a are positive integers.

Output Specification

For each test case, your program should output the ath partition in the list of partitions of k, or, if a is greater than the number of partitions of k, output Too big.

Sample Input

Copy
3
1 1
5 4
5 8

Sample Output

Copy
(1)
(3,1,1)
Too big

Comments

There are no comments at the moment.