题目大意是只要后面的木棍长度和重量都不比前面小就不用花费准备时间。。。所以,只要使数组尽可能按要求排列即可,定义一结构体表示木棍的性质。
排序:按重量从小到大排列,若重量相等,则按长度从小到大排列。
递归:从第一个数开始,逐个进行搜索,若符合长度和重量都递增的条件的去掉,不符合的装入另一个结构体中,在对剩下的木棍进行搜索,一直到所得结构体为空为止。每一次递归,总数增加一,最后所得总数就是所求数;如:( 4 , 1 ) ,( 1 , 2 ) , ( 5 , 3 ) , ( 9 , 4 ) ,
代码:
#include<stdio.h>
#include<algorithm>
using namespace std;
struct Node{
}p[5000];
int sum;
bool cmp(Node a,Node b){
}
void sub(Node p1[5000],int n){
}
int main(){
}