poj 1040 Transportation 深搜剪枝
来源:互联网 发布:淘宝店铺招牌代码 编辑:程序博客网 时间:2024/06/06 20:23
//poj 1040//sep9#include <iostream>using namespace std;int n,m,order_num,ans;struct Order{int s,t,num,val;}orders[32];int passengers[16],most_earn[32];void dfs(int cur,int sum_value){if(cur>=order_num){ans=max(ans,sum_value);return ;}if(sum_value+most_earn[cur]<=ans) return ;dfs(cur+1,sum_value);bool success=true;for(int i=orders[cur].s;i<orders[cur].t;++i)if(passengers[i]+orders[cur].num>n){success=false;break;}if(success){for(int i=orders[cur].s;i<orders[cur].t;++i) passengers[i]+=orders[cur].num;dfs(cur+1,sum_value+orders[cur].val);for(int i=orders[cur].s;i<orders[cur].t;++i) passengers[i]-=orders[cur].num;}}int main(){while(scanf("%d%d%d",&n,&m,&order_num)==3){if(n==0&&m==0&&order_num==0) break;memset(most_earn,0,sizeof(most_earn));for(int i=0;i<order_num;++i){scanf("%d%d%d",&orders[i].s,&orders[i].t,&orders[i].num);orders[i].val=(orders[i].t-orders[i].s)*orders[i].num;}for(int i=order_num-1;i>=0;--i)most_earn[i]=most_earn[i+1]+orders[i].val;ans=0;memset(passengers,0,sizeof(passengers));dfs(0,0);printf("%d\n",ans);}return 0;}
阅读全文
0 0
- poj 1040 Transportation 深搜剪枝
- poj 1040 Transportation DFS剪枝
- poj 1040 Transportation
- poj 1040 Transportation
- POJ-1040-Transportation
- Transportation-POJ 1040
- POJ 1040 Transportation DFS
- POJ 1040 Transportation
- poj-1040-Transportation
- POJ 1040 Transportation 笔记
- poj 2362 Square(简单深搜+剪枝)
- POJ 3172 Scales (剪枝深搜)
- UVA 301 POJ 1040- Transportation DFS 回溯
- UVa 301 & HDU 1456 & POJ 1040 - Transportation
- poj 1980 Unit Fraction Partition 深搜剪枝
- poj 1011 Sticks(经典深搜dfs+剪枝)
- POJ 1797 Heavy Transportation
- POJ 1797 Heavy Transportation
- 1103: [POI2007]大都市meg
- 有关编码(GBK、utf-8、iso8859-1、)相互转换问题
- 使用 Gradle 对应用进行个性化定制
- bzoj4094[Usaco2013 Dec]Optimal Milking 线段树
- 寻找实习第一天
- poj 1040 Transportation 深搜剪枝
- 网络程序设计-WeTalk聊天程序
- Unity复习整理(3)
- C#数字、16进制字符串和字节之间互转
- nf_conntrack: table full, dropping packet
- da_11 C语言五大内存区及变量的存储类型
- Hibernate (开放源代码的对象关系映射框架)(初步)
- 1、 LwIP协议栈规范翻译——简介
- MySql中group_concat()函数的使用