793D Presents in Bankopolis
来源:互联网 发布:冯绍峰双龙出洞 知乎 编辑:程序博客网 时间:2024/06/05 10:03
#include<iostream>#include<vector>#include<string>#include<set>#include<map>#include<algorithm>#include<queue>#include<list>#include<stack>#include<cstdio>#include<fstream>#include<numeric>#include<functional>#include<utility>#include<memory.h>using namespace std;using namespace placeholders;int area[82][82];int dp[82][82][82][82];int n, k, m;int Cal(int left, int right, int cur, int amount){if (dp[left][right][cur][amount] != -1) return dp[left][right][cur][amount];if (amount == 1){dp[left][right][cur][amount] = 0;return 0;}int res = 1e8;for (int i = 1; i <= n; i++){if (area[cur][i] <= 1000 && i>left&&i<right){int l = left, r = right;if (cur < i) l = cur;else r = cur;res = min(res, area[cur][i] + Cal(l, r, i, amount - 1));}}dp[left][right][cur][amount] = res;return res;}int main(){while (cin >> n >> k){cin >> m;for (int i = 1; i <= n; i++)for (int j = 1; j <= n; j++) area[i][j] = 1e8;memset(dp, -1, sizeof(dp));for (int i = 1; i <= m; i++){int u, v, c;cin >> u >> v >> c;area[u][v] = min(area[u][v], c);}int ans = 1e8;for (int i = 1; i <= n; i++){int left = 0;int right = n + 1;ans = min(ans, Cal(left, right, i, k));}if (ans >= 1e8) cout << "-1" << endl;else cout << ans << endl;}return 0;}
0 0
- 793D Presents in Bankopolis
- Codeforces 793D Presents in Bankopolis DP
- CF 793D Presents in Bankopolis
- Codeforces 793 D. Presents in Bankopolis
- Codeforces 793D Presents in Bankopolis【Dp+记忆化搜索】
- 树形DP 【codeforces 793D】Presents in Bankopolis
- Presents in Bankopolis CodeForces
- CF-Tinkoff Challenge-Elimination Round-D-Presents in Bankopolis
- Presents
- Presents
- Presents
- Presents
- A. Presents
- Coderforces Presents
- 3D in ios
- [Built-in Functions] - D
- D. Swaps in Permutation
- D. Lakes in Berland
- c++中vector的用法详解
- Spring Boot Dubbo 整合和入门理解
- POJ_1062 昂贵的聘礼【DFS】
- Android中TextView的滑动(横向/纵向)
- 基于STM32和ESP8266的低成本物联网控制盒子
- 793D Presents in Bankopolis
- 概率统计的奇妙结论
- HTTP详解
- FL Studio音频剪辑和剪辑菜单详讲
- 关于空指针的一点坑
- Invitation Cards poj1511(优先队列+邻接表+dijk)
- QML JS封装播放器时间格式显示
- 1061. 判断题
- git status输出, 中文文件名显示为转义字符编码(乱码)