usaco shopping 模拟+dp
来源:互联网 发布:薛之谦主持的网络综艺 编辑:程序博客网 时间:2024/04/30 15:30
/*ID: xujiahe1PROG: shoppingLANG: C++*/#include <vector>#include <map>#include <algorithm>#include <cstdio>#include <iostream>#include <cstring>using namespace std;#define pb(a) push_back(a);map<int,int>myp;struct node{ int g[20],num[20]; int price;}p[200];int num,m,n;int price[20];int need[20];int f[20][20][20][20][20];int i1,i2,i3,i4,i5;int get(){ int tmp=0; tmp+=i1*price[1]; tmp+=i2*price[2]; tmp+=i3*price[3]; tmp+=i4*price[4]; tmp+=i5*price[5]; return tmp;}bool check(int k){ if(i1<p[k].g[1]) return false; if(i2<p[k].g[2]) return false; if(i3<p[k].g[3]) return false; if(i4<p[k].g[4]) return false; if(i5<p[k].g[5]) return false; return true;}void change(int k){ if(!check(k)) return ; int tmp=f[i1][i2][i3][i4][i5]; tmp=min(tmp,f[i1-p[k].g[1]][i2-p[k].g[2]][i3-p[k].g[3]][i4-p[k].g[4]][i5-p[k].g[5]]+p[k].price); f[i1][i2][i3][i4][i5]=tmp;}int main(){ freopen("shopping.in","r",stdin); freopen("shopping.out","w",stdout); int total,a,b,c,v; scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&total); for(int j=1;j<=total;j++) { scanf("%d%d",&a,&b); if(!myp[a]) { num++; myp[a]=num; } p[i].g[myp[a]]=b; } scanf("%d",&p[i].price); } scanf("%d",&m); for(int i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&c); if(!myp[a]) { num++; myp[a]=num; } need[myp[a]]=b; price[myp[a]]=c; } for(i1=0;i1<=need[1];i1++) { for(i2=0;i2<=need[2];i2++) { for(i3=0;i3<=need[3];i3++) { for(i4=0;i4<=need[4];i4++) { for(i5=0;i5<=need[5];i5++) { f[i1][i2][i3][i4][i5]=get(); for(int i=1;i<=n;i++) { change(i); } } } } } } printf("%d\n",f[need[1]][need[2]][need[3]][need[4]][need[5]]); return 0;}
0 0
- usaco shopping 模拟+dp
- USACO Shopping Offers, DP
- USACO-Section 3.3 Shopping Offers (DP)
- USACO section 3.3 Shopping Offers(DP或最短路)
- USACO 3.3 Shopping Offers (shopping)
- usaco Shopping Offers
- usaco 3.3 Shopping Offers
- USACO Shopping Offers
- USACO Shopping Offers 解题报告
- usaco 3.3 shopping 2008.11.7
- Shopping Offers (dp)
- usaco Chapter 3 section 3.3 Shopping Offers
- USACO Section 3.3 Shopping Offers - 多重背包
- USACO/shopping 3.3.2 动态规划
- USACO 3.3 Shopping Offers商店购物
- USACO-Section 3.3-PROB Shopping Offers
- Patrick and Shopping(模拟)
- hdu2648 Shopping (map模拟)
- 基于LINUX的多媒体框架Gstreamer开发与使用
- poj 3694 Network(tarjan+LCA求割边)
- tempdb 相关总结
- 使用Easy Touch 实现unity3d 虚拟摇杆
- Java 并发编程之任务取消
- usaco shopping 模拟+dp
- XDOJ1255 - 数列游戏
- Linux CGI编程
- css - position:absolute和position:relative的区别
- HDU3723-Delta Wave(Catalan数+组合计数)
- Java并发学习之十——用线程工厂创建线程
- MySQL常见错误代码说明
- 耳机工程师谈Dirac: Dirac开创了用软件来实现HIFI的新思路
- POJ 3067—— Japan(树状数组)