uva 1347
来源:互联网 发布:java file 编辑:程序博客网 时间:2024/06/15 03:44
参考紫书。
假设有两个人,选择不同的点,那么到终点时,他们的路径和,就是答案。因为dp[i][j] = dp[j][i]。所以我们可以只考虑 i > j。dp[i][j] 由 dp[i + 1][i](dp[i][j] 下一步 j -> i + 1) 和 dp[i + 1][j]转移而来。
#include<cstdio>#include<cmath>#include<algorithm>using namespace std;const int maxn = 100 + 5;double dp[maxn][maxn], dist[maxn][maxn], x[maxn], y[maxn];int main(){ int n; while(scanf("%d", &n) == 1) { for(int i = 0; i < n; i++) scanf("%lf%lf", &x[i], &y[i]); for(int i = 0; i < n; i++) for(int j = 0; j < n; j++) dist[i][j] = sqrt((x[i] - x[j]) * (x[i] - x[j]) + (y[i] - y[j]) * (y[i] - y[j])); for(int i = n - 2; i >= 0; i--) { for(int j = 0; j < n; j++) { if(i == n - 2) dp[i][j] = dist[i][n - 1] + dist[j][n - 1]; else { dp[i][j] = min(dp[i + 1][j] + dist[i + 1][i], dp[i + 1][i] + dist[i + 1][j]); } } } printf("%.2lf\n", dp[0][0]); } return 0;}
阅读全文
0 0
- uva-1025、uva-437、uva-1347、uva-116、uva-12563
- uva 1347
- uva 1347
- UVa 1347
- UVA 1347
- UVA-1347
- UVA-1347
- uva 1347
- uva 1347 - Tour
- Tour - UVa 1347 dp
- UVa 1347 Tour(DP)
- UVa 1347 Tour(DP)
- UVA 1347 Tour DP
- UVa - 1347 - Tour
- UVA - 1347 Tour
- DP UVA 1347
- Uva-1347 Power Calculus
- uva 1347 tour
- 用户角色权限系统完整设计(基于shiro)
- 链表
- spark-streaming 编程(一)构建开发环境
- tnsnames.ora空格引起的PL/SQL无法连接问题
- [计算机网络]--计算机网络概述
- uva 1347
- 使用IntelliJ IDEA创建Maven Web项目
- Ubuntu 10.04下expr命令的使用
- 关于ES、PES、PS以及TS码流
- docker + maven + springBoot 编译打包
- 网络营销实战课-好用的工具推荐
- 0822 Java io操作2
- Unity3D研究院之将UI的点击事件渗透下去
- vue 微信分享的实现