POJ 2387 Til the Cows Come Home(dijkstra裸题)
2024-08-27 14:36:45
题目链接:http://poj.org/problem?id=2387
题目大意:给你t条边(无向图),n个顶点,让你求点1到点n的最短距离。
解题思路:裸的dijsktra,注意判重边。
代码:
#include<cstdio>
#include<cmath>
#include<cctype>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<set>
#include<map>
#include<stack>
#include<string>
#define LC(a) (a<<1)
#define RC(a) (a<<1|1)
#define MID(a,b) ((a+b)>>1)
using namespace std;
typedef long long LL;
const int INF=0x3f3f3f3f;
const int N=1e3+; int dis[N],cost[N][N];
bool used[N];
int V,E; void dij(int s){
//初始化
for(int i=;i<=V;i++){
dis[i]=INF;
used[i]=false;
}
dis[s]=; while(true){
int k=-;
for(int i=;i<=V;i++){
if(!used[i]&&(k==-||dis[k]>dis[i]))
k=i;
}
if(k==-) break;
used[k]=true;
for(int i=;i<=V;i++){
dis[i]=min(dis[i],dis[k]+cost[k][i]);
}
}
} int main(){
memset(cost,0x3f,sizeof(cost));
scanf("%d%d",&E,&V);
for(int i=;i<=E;i++){
int a,b,len;
scanf("%d%d%d",&a,&b,&len);
//判重边
cost[a][b]=cost[b][a]=min(cost[a][b],len);
}
dij();
printf("%d\n",dis[V]);
return ;
}
最新文章
- 【bzoj2245】 SDOI2011—工作安排
- 如何准确高效的获取数据库新插入数据的主键id
- mysql中sql语句
- xcode编译错误
- 【筛法求素数】【质因数分解】bzoj2721 [Violet 5]樱花
- 1.后台如何获取 jquery get方式的ajax的参数
- linux下的终端模拟器urxvt的配置
- 在oracle中创建空间索引
- C++11多态函数对象包装器
- Selenium2Library系列 keywords 之 _SelectElementKeywords 之 page_should_contain_list(self, locator, message=&#39;&#39;, loglevel=&#39;INFO&#39;)
- InSAR在地面沉降监测中的应用及发展前景
- [转] 剖析 epoll ET/LT 触发方式的性能差异误解(定性分析)
- JAVA 多线程同步与互斥
- Oracle 10g RAC启动与关闭命令
- Codeforces Round #296 (Div. 2) A. Playing with Paper
- SQL复习五(索引)
- iTunes制作iPhone手机铃声方法(mac版2017年4月更新)
- java--- 使用interrupte中断线程的真正用途
- java-27 Properties类的使用
- 选择提供器 - 选择监听器(selection provider-selection listener)模式
热门文章
- 数据治理(Data Governance)
- [学习笔记]2-SAT 问题
- Lua Go R HEXO Kotlin 简单介绍
- Wireshark中TCP segment of a reassembled PDU的含义
- linux配置虚拟机网络环境(老师要求的host-only)
- caffe中使用crop_size剪裁训练图片
- Codeforces Round #340 (Div. 2) A
- ioctrl 获取本机IP及MAC地址
- 基于Bootstrap的遮罩层,带有加载提示
- Java多线程之“同步”