HDU 2544
来源:互联网 发布:python的数据类型 编辑:程序博客网 时间:2024/06/06 12:46
最短路
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 60637 Accepted Submission(s): 26704
输入保证至少存在1条商店到赛场的路线。
2 11 2 33 31 2 52 3 53 1 20 0
32
基本思路:最短路的裸题(可以当做模板题)
已经AC过的代码:
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
#define INF 0x3f3f3f3
int map[110][110],dis[110],visited[110];
void Dijkstra(int n,int x)
{
int min,p;
memset(visited,0,sizeof(visited));
memset(dis,0,sizeof(dis));
for(int i=1;i<=n;i++)
{
dis[i]=map[1][i];
visited[i]=0;
}
visited[x]=1;
for(int i=1;i<=n;i++)
{
min=INF;
for(int j=1;j<=n;j++)
{
if(!visited[j]&&dis[j]<min)
{
p=j;
min=dis[j];
}
}
visited[p]=1;
for(int j=1;j<=n;j++)
{
if(!visited[j]&&dis[p]+map[p][j]<dis[j])
{
dis[j]=dis[p]+map[p][j];
}
}
}
}
int main()
{
int m,n,a,b,c;
while(scanf("%d %d",&n,&m)&&n)
{
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(i==j)
map[i][j]=0;
else
map[i][j]=INF;
}
}
for(int i=1;i<=m;i++)
{
scanf("%d %d %d",&a,&b,&c);
map[a][b]=map[b][a]=c;
}
Dijkstra(n,1);
cout<<dis[n]<<'\n';
}
return 0;
}
- hdu 2544
- hdu 2544
- HDU 2544
- HDU 2544
- hdu 2544
- hdu 2544
- hdu 2544
- HDU 2544
- HDU 2544
- hdu 2544
- HDU 2544
- hdu 2544
- hdu-2544
- hdu 2544
- hdu 2544
- hdu 2544
- HDU 2544
- hdu 2544
- Linux的环境变量
- DetachedCriteria查询和子查询
- HDU:1577 WisKey的眼神
- android源码中的设计模式
- 欢迎使用CSDN-markdown编辑器
- HDU 2544
- 快速无需脚本直接用迅雷下载页面全部链接
- 无网络环境重装系统 驱动问题怎么办?
- Android实现横向滑动列表
- android 自定义控件
- Java
- 关于node-sass安装不上的问题
- React+webpack开发环境的搭建_0
- VMware9安装Ubuntu 12.10图文详细教程