/*
Chinese topic Wood
To process the first wood to debug the machine, so for a minute, the back of the wood in length and weight is greater than equal to the previous wood, do not debug the machine, or to debug the machine, and then spend a minute
Problem-solving ideas: First the length of the wood in ascending order, the quality of the conflict after the place will be rescheduled after
The person who solve the problem: Lingnichong
Problem solving time:2014-10-25 16:33:10
Experience: The loss of a bracket, resulting in a large wrong
*/
Wooden SticksTime limit:2000/1000 MS (java/others) Memory limit:65536/32768 K (java/others)
Total Submission (s): 12150 Accepted Submission (s): 5034
Problem Descriptionthere is a pile of n wooden sticks. The length and weight of each stick is known in advance. The sticks is 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 is associated with cleaning operations and changing tools and shapes. The setup times of the woodworking machine is 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 would need no setup time for a stick of length l ' and weight W ' if l<=l ' and W<=w '. Otherwise, it'll need 1 minute for setup.
You is 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 is (4,9), (5,2), (2,1), (3,5), and (1,4), then the Minimum setup time should be 2 minutes since there are a sequence of pairs (1,4), (3,5), (4,9), (2,1), (5,2).
Inputthe input consists of T test cases. The number of test cases (T) is given on the first line of the input file. Each test case consists of a lines:the first line has a integer n, 1<=n<=5000, that represents the number of Wo Oden sticks in the test case, and the second line contains n 2 positive integers L1, W1, L2, W2, ..., LN, WN, each of Magn Itude at most 10000, where Li and wi is the length and weight of the i th wooden stick, respectively. The 2n integers is delimited by one or more spaces.
Outputthe output should contain the minimum setup time in minutes, one per line.
Sample Input
3 5 4 9 5 2 2 1 3 5 1 4 3 2 2 1 1 2 2 3 1 3 2 2 3 1
Sample Output
213
Sourceasia 2001, Taejon (South Korea)
#include <stdio.h> #include <algorithm>using namespace Std;int temp[5005];//A starting point for recording different sequence numbers struct node{int A, b;} Arr[5005];int CMP (node X,node y)//Sort: Let the same length of wood, small quality in front {if (x.a = = y.a) return X.b<y.b;return x.a<y.a;} int main () {int t,n,i,j;int time;scanf ("%d", &t), while (t--) {scanf ("%d", &n), for (i=0;i<n;i++) scanf ("%d%d", &ARR[I].A,&ARR[I].B); sort (arr,arr+n,cmp); time=1;temp[0]=arr[0].b;//first sets the first point after the sort to start for (i=1;i<n;i++) { for (j=0;j<time;j++) {if (arr[i].b >= temp[j])//update the data so that a large number of subsequent masses overwrite the previous mass {temp[j]=arr[i].b;break;}} if (j==time)//When all start points are not met, reschedule a starting point {if (arr[i].b < temp[j-1]) {temp[j]=arr[i].b;time++;}}} printf ("%d\n", Time);} return 0;}
HDU 1051 Wooden Sticks "greedy + sort"