一个人的旅行 解题报告
来源:互联网 发布:插件式软件开发 编辑:程序博客网 时间:2024/05/01 12:33
题目链接:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=2674
#include <stdio.h>#define size 1011#define INF 0x7f7f7f7fint map[size][size];int m[size],mark[size],dis[size];int count,n;void Dijkstra(){ int i,j,k,t; memset(mark,0,sizeof(mark)); for(i=1;i<=n;i++) { t=INF; for(j=1;j<=n;j++) { if(mark[m[j]]==0) { if(dis[m[j]]<t) { t=dis[m[j]]; k=m[j]; } } } mark[k]=1; for(j=1;j<=n;j++) { if(map[k][m[j]]!=INF) dis[m[j]]=dis[k]+map[k][m[j]]<dis[m[j]]?dis[k]+map[k][m[j]]:dis[m[j]]; } }}int main(){ int T,S,D,i,j,k,t; while(scanf("%d%d%d",&T,&S,&D)!=EOF) { n=0; memset(mark,0,sizeof(mark)); memset(map,INF,sizeof(map)); memset(dis,INF,sizeof(dis)); for(i=1;i<=T;i++) { scanf("%d%d%d",&j,&k,&t); if(mark[j]==0)mark[j]=1,m[++n]=j; if(mark[k]==0)mark[k]=1,m[++n]=k; map[j][k]=map[k][j]=t<map[j][k]?t:map[j][k]; } for(i=1;i<=S;i++) { scanf("%d",&t); dis[t]=0; } Dijkstra(); k=INF; for(i=1;i<=D;i++) { scanf("%d",&t); if(k>dis[t]) { k=dis[t]; } } printf("%d\n",k); } return 0;}
0 0
- 一个人的旅行 解题报告
- HDU2066 一个人的旅行 解题报告--Dijkstra
- hdu 2066 一个人的旅行 最短路 dijkstra 解题报告
- 【codevs1045】 奶牛的旅行 解题报告
- 旅行 解题报告
- 一个人旅行的日子
- 一个人的旅行
- 一个人的旅行(2)
- 九年祭:一个人的旅行
- 一个人的旅行
- HDOJ 一个人的旅行
- hdu2066 一个人的旅行
- hdu 一个人的旅行
- hdu2066一个人的旅行
- 一个人的旅行
- BIT1027 一个人的旅行
- POJ2066--一个人的旅行
- hdoj_2066一个人的旅行
- 代码规范
- 移动通信标准
- 操作系统学习笔记二 操作系统结构
- PHP内核探索之变量(3)- hash table
- Maven学习四:使用mvn install创建自己的repository
- 一个人的旅行 解题报告
- Nginx配置文件详细说明
- Unity触屏操作 (主要是解决多点触 屏问题)
- String to Integer (atoi)
- Fermat vs. Pythagoras - UVa 106 勾股数
- 确保nginx安全的10个技巧
- Linux 运用debugfs调试方法
- AccessibilityService ClassNotFoundExcepiton
- Jacobian。。。