UVA 301 Transportation
来源:互联网 发布:iphone实用软件 编辑:程序博客网 时间:2024/06/05 13:53
UVA 301 Transportation
题目大意:列车运人,获利最大的问题,第一行输入三个值,分别是限制人数,站点数,订单数t,然后以下t行是订单信息,每个订单包含3个值前俩个代表从第x站到第y站,第三个数是人数,获利=人数*(y - x)
解题思路:回溯,无非就是一个部车开过去是否接这个单,每次判断是否能接这个单,递归判断接与不接,比较最大值就行
#include <stdio.h>#include <iostream>#include <string.h>using namespace std;int n, st, t; // 限制人数 站点数 订单数int ord[40][3]; //订单int peo[40]; // 人数int flag[40];int s;void dfs(int a, int q) { if(a > s) s = a; if(q == t) return; if(!flag[q]) { int p = 1; for(int j = ord[q][0]; j < ord[q][1]; j++) { if(ord[q][2] + peo[j] > n) { p = 0; break; } } if(p == 1) { for(int j = ord[q][0]; j < ord[q][1]; j++) { peo[j]+= ord[q][2] ; } flag[q] = 1; int b = a + (ord[q][1] - ord[q][0]) * ord[q][2]; dfs(b, q + 1); flag[q] = 0; for(int j = ord[q][0]; j < ord[q][1]; j++) { peo[j]-= ord[q][2]; } } } dfs(a, q+1);}int main() { while(cin >> n >> st >> t && n + st + t) { memset(peo, 0, sizeof(peo)); memset(ord, 0, sizeof(ord)); memset(flag, 0, sizeof(flag)); for(int i = 0; i < t; i++) { cin >> ord[i][0] >> ord[i][1] >> ord[i][2]; } s = 0; dfs(0, 0); cout << s << endl; } return 0;}
0 0
- UVa 301 - Transportation
- uva 301 - Transportation
- uva 301 - Transportation
- UVa 301 - Transportation
- Uva 301 Transportation
- UVa 301 - Transportation 回溯
- uva 301 Transportation
- UVa 301 - Transportation
- UVA 301 Transportation
- UVA 301 - Transportation
- uva 301 Transportation (DFS)
- uva 301 Transportation
- uva 301 Transportation
- UVa:301 Transportation
- UVa 301 - Transportation
- uva 301 - Transportation
- UVa 301 Transportation
- ( 回溯 )uva 301 - Transportation
- Altium下元器件中英文对照
- [hdu2167][DP][状态压缩]Pebbles
- [Codeforces 585C] Alice, Bob, Oranges and Apples (Stern-Brocot Tree + 更相减损法)
- 常用的设计模式,及简单介绍
- 【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码)(r)
- UVA 301 Transportation
- CMD获取所有连接过的WIFI密码
- android 热补丁功能实现初探<一>
- MongoDB 数据导出mongoexport(可导出为txt或csv)
- MongoDB实现复制集
- ABAP SEARCH 搜索指定字符串
- Intellij Idea,webstorm,phpstorm 在线激活License server
- 【Java并发编程】之十二:线程间通信中notifyAll造成的早期通知问题(含代码)(r)
- iOS运行时(runtime)探究一:重要概念