poj——2392——Space Elevator(多重)
来源:互联网 发布:windows server 哪个好 编辑:程序博客网 时间:2024/06/01 07:43
Description
The cows are going to space! They plan to achieve orbit by building a sort of space elevator: a giant tower of blocks. They have K (1 <= K <= 400) different types of blocks with which to build the tower. Each block of type i has height h_i (1 <= h_i <= 100) and is available in quantity c_i (1 <= c_i <= 10). Due to possible damage caused by cosmic rays, no part of a block of type i can exceed a maximum altitude a_i (1 <= a_i <= 40000).
Help the cows build the tallest space elevator possible by stacking blocks on top of each other according to the rules.
Input
* Line 1: A single integer, K
* Lines 2..K+1: Each line contains three space-separated integers: h_i, a_i, and c_i. Line i+1 describes block type i.
Output
* Line 1: A single integer H, the maximum height of a tower that can be built
Sample Input
有一群奶牛想到太空去,他们有k中类型的石头,每一类石头高h,石头能达到的高度c,以及它的数量a,在做背包前需要对石块能到达的最大高度(a)进行排序,而且每种砖块都有一个限制条件,就是说以该种砖块结束的最大高度H不能超过某个高度,不同砖块的高度不同。求最高的高度是多少。
3
7 40 3
5 23 8
2 52 6
Sample Output
The cows are going to space! They plan to achieve orbit by building a sort of space elevator: a giant tower of blocks. They have K (1 <= K <= 400) different types of blocks with which to build the tower. Each block of type i has height h_i (1 <= h_i <= 100) and is available in quantity c_i (1 <= c_i <= 10). Due to possible damage caused by cosmic rays, no part of a block of type i can exceed a maximum altitude a_i (1 <= a_i <= 40000).
Help the cows build the tallest space elevator possible by stacking blocks on top of each other according to the rules.
Input
* Line 1: A single integer, K
* Lines 2..K+1: Each line contains three space-separated integers: h_i, a_i, and c_i. Line i+1 describes block type i.
Output
* Line 1: A single integer H, the maximum height of a tower that can be built
Sample Input
有一群奶牛想到太空去,他们有k中类型的石头,每一类石头高h,石头能达到的高度c,以及它的数量a,在做背包前需要对石块能到达的最大高度(a)进行排序,而且每种砖块都有一个限制条件,就是说以该种砖块结束的最大高度H不能超过某个高度,不同砖块的高度不同。求最高的高度是多少。
3
7 40 3
5 23 8
2 52 6
Sample Output
48
#include <iostream>#include <cstring>#include <algorithm>#include <cstdio>using namespace std;const int M=405;const int MAX=40005;struct node{int h;int a;int c;}Node[M];int cmp(node a,node b){return a.a<b.a;}int dp[MAX];int vis[MAX];int main(){int t;while(scanf("%d",&t)!=EOF){for(int i=1;i<=t;i++)scanf("%d%d%d",&Node[i].h,&Node[i].a,&Node[i].c);sort(Node+1,Node+t+1,cmp);memset(vis,0,sizeof(vis));vis[0]=1;int max=0;for(int i=1;i<=t;i++){memset(dp,0,sizeof(dp));for(int j=Node[i].h;j<=Node[i].a;j++){if(!vis[j]&&vis[j-Node[i].h]&&dp[j-Node[i].h]+1<=Node[i].c){ vis[j]=1; dp[j]=dp[j-Node[i].h]+1;if(j>max)max=j;}}}printf("%d\n",max);}return 0;}
0 0
- poj——2392——Space Elevator(多重)
- POJ 2392 Space Elevator (多重背包)
- poj 2392 Space Elevator (多重背包)
- POJ 2392-Space Elevator(多重背包)
- poj Space Elevator 2392 (多重背包)
- POJ 2392 Space Elevator(多重背包)
- Space Elevator poj 2392(多重背包)
- POJ 2392 Space Elevator(多重背包)
- POJ - 2392 Space Elevator(多重背包)
- poj 2392 Space Elevator(多重背包)
- 刷题——Space Elevator POJ
- poj 2392 Space Elevator(未优化的多重背包)
- POJ 2392 Space Elevator (多重背包 + 思路题)
- POJ 题目2392 Space Elevator(多重背包)
- poj 2392 Space Elevator 多重背包
- poj 2392 Space Elevator(多重背包变形)
- POJ 2392 Space Elevator [DP 多重背包]
- poj 2392 Space Elevator(排序+多重背包)
- hdu 1217 && poj2240 Arbitrage 最短路
- Open .pdf on ubuntu
- NVelocity用法
- 报数游戏2
- 小P的故事——神奇的饭卡
- poj——2392——Space Elevator(多重)
- 国内一款不错的快递单号查询的API
- 【设计模式基础】行为模式 - 6 - 模板方法(Template Method)
- [树状数组]POJ 2299 Ultra-QuickSort
- 小P的故事——神奇的换零钱
- Longest Consecutive Sequence
- 数据结构上机实验之二分查找
- Android中关于Adapter的使用(下)BaseAdapter
- m个苹果放入n个盘子