hdu3576 Elevators in Jiayuan Students' Apartment
来源:互联网 发布:gif剪裁软件 编辑:程序博客网 时间:2024/05/20 02:56
这是一道DP问题,觉得挺有意思的,所以时隔数日又写了一遍……
#include<iostream>#include<cstdio>using namespace std;int dp[20][20][20][20];int a[20];int main(){ int f,i,j,k; int t, cases; scanf("%d", &cases); t = 1; while(t <= cases) { int c,m; scanf("%d %d", &c, &m); memset(a, 0, sizeof(a)); int tmp; for(i=0; i<m; i++) { scanf("%d", &tmp); a[tmp] ++; } memset(dp, -1, sizeof(dp)); dp[1][0][0][0] = 0; for(f=2; f<=16; f++) for(i=0; i<=c; i++) for(j=0; j<=c; j++) for(k=0; k<=c; k++) { if(dp[f-1][i][j][k] == -1) continue; int x,y,z; for(x=0; x<=a[f]; x++) for(y=0; y<=a[f]; y++) { z = a[f] - x - y; if(x + y > a[f]) continue; if(x+i > c|| y+j>c || z+k > c) continue; tmp = dp[f-1][i][j][k] + (x!=0)+(y!=0)+(z!=0); if(dp[f][x+i][y+j][z+k] == -1 || dp[f][x+i][y+j][z+k] > tmp) dp[f][x+i][y+j][z+k] = tmp; } } int res = 10000000; for(i=0; i<=c; i++) for(j=0; j<=c; j++) { if(i+j>m) continue; if(dp[16][i][j][m-i-j] == -1) continue; if(dp[16][i][j][m-i-j] < res) res = dp[16][i][j][m-i-j]; } printf("Case %d: %d\n", t, res); t ++; } return 0; }
- hdu3576 Elevators in Jiayuan Students' Apartment
- E Elevators in Jiayuan Students' Apartment
- hdu 3576 Elevators in Jiayuan Students' Apartment
- 动态规划 Elevators in Jiayuan Students' Apartment hdu 3576
- hdu 3576 Elevators in Jiayuan Students' Apartment(DP)
- Elevators UVALive
- Elevators UVALive
- Students
- To my students in Beijing Prof.Stearns
- Apartment hunting
- Apartment Rental
- 最短路 hnu13430 Elevators
- Guidance for Students in Applying for a UK Visa
- Guidance for Students in Applying for a UK Visa II
- For Blind Foreign Students, Some Aid Available in US
- URAL 1901 Space Elevators(贪心)
- BNUOJ26429 Space Elevators(贪心)
- com之套间(Apartment)
- 牛顿法求平方根
- Mni2440 linux PWM 驱动代码修改支持 频率,占空比修改--XiaoLin.Peng
- 菜鸟笔记5——Camera扩充(3) 界面更改,弹出对话框
- Winsock网络编程
- 数字(2)
- hdu3576 Elevators in Jiayuan Students' Apartment
- IT开发工具
- Linux音频编程指南(1)
- springAOP理解——java中的proxy实现AOP功能
- java Json JQuery
- KissXML 简易教程
- URI的用法
- spring AOP理解——spring中的CGLIB实现AOP功能
- 新学期,新开始