hdu 1069 动态规划 经典题
来源:互联网 发布:荀彧 诸葛亮 知乎 编辑:程序博客网 时间:2024/06/06 12:47
//每种坐标有三种高,每种高有两种情况,最多只有180种情况。先对x排序,x相等时对y排序,然后按照提议dp处理 #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;struct elem{int x;int y;int z;}dp[200];bool cmp(elem a,elem b){if(a.x<b.x) return 1;else if(a.x==b.x&&a.y<b.y) return 1;else return 0;}int main(){int xx,yy,zz;int n;int l=0;int cas=0;while(~scanf("%d",&n)&&n){cas++;l=0;int i;for(i=1;i<=n;i++){scanf("%d%d%d",&xx,&yy,&zz);dp[l].x=xx;dp[l].y=yy;dp[l].z=zz;l++;dp[l].x=yy;dp[l].y=xx;dp[l].z=zz;l++;dp[l].x=xx;dp[l].y=zz;dp[l].z=yy;l++;dp[l].x=zz;dp[l].y=xx;dp[l].z=yy;l++;dp[l].x=zz;dp[l].y=yy;dp[l].z=xx;l++;dp[l].x=yy;dp[l].y=zz;dp[l].z=xx;}sort(dp,dp+l,cmp);int j;for(i=1;i<l;i++){int tmp=0;for(j=0;j<i;j++){if((dp[j].x<dp[i].x&&dp[j].y<dp[i].y)&&tmp<dp[j].z){tmp=dp[j].z;}}dp[i].z+=tmp;}int maxn=0;for(i=0;i<l;i++)if(maxn<dp[i].z) maxn=dp[i].z;printf("Case %d: maximum height = %d\n",cas,maxn);}return 0;}
0 0
- hdu 1069 动态规划 经典题
- HDU 动态规划经典题
- HDU:1069 Monkey and Banana(经典动态规划DP)
- HDU 1069 Monkey and Banana(动态规划DP 经典)
- HDU 1501 Zipper 动态规划经典
- hdu 1500 Chopsticks 动态规划 比较经典
- HDU 1069(动态规划)
- 动态规划 HDU 动态规划题集
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典五题
- 动态规划经典5题
- 动态规划经典题讲解
- Android 设置Activity永不过期
- 【C#】C#中的流程控制语句
- 挑战程序设计竞赛——1.63抽签加强版
- Python字符串与数字拼接 TypeError: cannot concatenate 'str' and 'int' objects
- 231. Power of Two(2)
- hdu 1069 动态规划 经典题
- Docker入门介绍
- Ubuntu安装git
- ubuntu中vi使用方向键与退格键乱码问题
- 七周七并发——笔记1
- 类模板 和 模板类
- 【深夜记坑】在android中使用JNA
- [2042]:不容易系列之二
- struts2的执行流程