There is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It needs some time, called setup time, for the machine to prepare processing a stick. The setup times are associated with cleaning operations and changing tools and shapes in the machine. The setup times of the woodworking machine are given as follows:
(a) The setup time for the first wooden stick is 1 minute.
(b) Right after processing a stick of length l and weight w , the machine will need no setup time for a stick of length l' and weight w' if l<=l' and w<=w'. Otherwise, it will need 1 minute for setup.
You are to find the minimum setup time to process a given pile of n wooden sticks. For example, if you have five sticks whose pairs of length and weight are (4,9), (5,2), (2,1), (3,5), and (1,4), then the minimum setup time should be 2 minutes since there is a sequence of pairs (1,4), (3,5), (4,9), (2,1), (5,2).
有n根木条,每个木条的长度和质量已知。木条将要被机器一条一条的加工,这需要一个时间,叫做启动时间,是给机器准备加工下一木条的时间。启动时间和清理机器,换工具,削形状有关系。木工机器的启动时间给了如下所示:
1.第一根木条,机器的启动时间为1minute.
2.在加工长为 l,宽为w的木条后,则机器在处理长宽小等于l,w的木条时不需要启动时间。否则需要一分钟启动时间。你需要找到加工n根木条的最小的时间总和。比如,你有5根木条,长宽如下所示。那么最小的启动时间应为2分钟,因为顺序是这样的。
输入:
The input consists of T test cases. The number of test cases (T) is given in the first line of the input file. Each test case consists of two lines: The first line has an integer n , 1<=n<=5000, that represents the number of wooden sticks in the test case, and the second line contains n 2 positive integers l1, w1, l2, w2, ..., ln, wn, each of magnitude at most 10000 , where li and wi are the length and weight of the i th wooden stick, respectively. The 2n integers are delimited by one or more spaces.
第一行输入T,表示T组测试数据。每组测试数据包括两行,第一行输入n,表示n根木条,n大于1小于5000.第二行包括2n个数字,l1,w1,l2,w2,...ln,wn.最大数值不超过10000。输入的 每个数字必须用一个或多个空格隔开。
输出:
The output should contain the minimum setup time in minutes, one per line.
输出最小的时间总和,每个数值占一行。