UVa 437. The Tower of Babylon
来源:互联网 发布:防辐射服有用吗 知乎 编辑:程序博客网 时间:2024/05/17 18:14
把所有的正方体形态全求一遍,然后就是裸DAG了
#include <iostream>#include <algorithm>#include <cstdio>#include <cstdlib>#include <cstring>#include <set>using namespace std;const int INF = 0x7fffffff;const int maxn = 300;struct node{ int c, k, g; void sc(int x, int y, int z) { c = x, k = y, g = z; } int S() { return c * k; } bool operator<(const node& a) const { return c * k < a.c * a.k; }}str[maxn];int n, dp[maxn], kase = 0;int main(){ while(scanf("%d", &n) != EOF && n) { int c, k, g, cnt = 0; memset(dp, 0, sizeof(dp)); for(int i = 0; i < n; ++i) { scanf("%d%d%d", &c, &k, &g); str[cnt++].sc(c, k, g); str[cnt++].sc(c, g, k); str[cnt++].sc(g, c, k); str[cnt++].sc(g, k, c); str[cnt++].sc(k, g, c); str[cnt++].sc(k, c, g); } sort(str, str+cnt); for(int i = 0; i < cnt; ++i) { dp[i] = str[i].g; for(int j = 0; j < i; ++j) if(str[i].c > str[j].c && str[i].k > str[j].k) dp[i] = max(dp[i], dp[j] + str[i].g); } int ans = -INF; for(int i = 0; i < cnt; ++i) ans = max(ans, dp[i]); printf("Case %d: maximum height = %d\n", ++kase, ans); } return 0;}
0 0
- UVa 437. The Tower of Babylon
- UVa 437. The Tower of Babylon
- UVa 437. The Tower of Babylon
- Uva The Tower of Babylon
- The Tower of Babylon UVA
- The Tower of Babylon UVA
- The Tower of Babylon UVA
- The Tower of Babylon UVA
- uva 437 The Tower of Babylon
- UVa 437 - The Tower of Babylon
- UVA 437 The Tower of Babylon
- UVa 437 - The Tower of Babylon LIS
- uva 437 - The Tower of Babylon
- UVa 437 - The Tower of Babylon
- UVa 437 - The Tower of Babylon
- UVa 437 - The Tower of Babylon
- UVa 437 - The Tower of Babylon
- UVA 437 The Tower of Babylon
- static关键字
- Java enum的用法详解
- 第三周—项目3 - 求集合并集
- 三向字符串快速排序
- 克制
- UVa 437. The Tower of Babylon
- AIX nohup 不输出日志
- MySQL日志——错误日志
- Linux命令curl
- 白话空间统计十八:相关性分析
- 小记
- php中this,self,parent三个关键字
- 日积(Running)月累(ZSSURE):SVN全新分支创建与VS窗体工程拷贝
- 翻转图像以及创建掩模