C++-POJ1502-MPI Maelstrom-[最短路][spfa][栈优化]
我不理解为什么写dijkska就WA呢?
atoi()是个好东西,给你个颜色,自己体会
疑惑!疑惑!疑惑!
#include <queue>
#include <cstdio>
#include <algorithm>
using namespace std;
const int INF=1e9,MAXN=,MAXM=;
int w(){char s[];scanf("%s",s);return s[]=='x'?INF:atoi(s);}
struct edge{
int v,w,next;
edge(int v=,int w=,int next=):v(v),w(w),next(next){}
};
edge E[MAXM];int head[MAXN],cnt;
void add(int u,int v,int w){
E[++cnt]=edge(v,w,head[u]),head[u]=cnt;
E[++cnt]=edge(u,w,head[v]),head[v]=cnt;
}
int dis[MAXN],vis[MAXN],stack[MAXN],top;
int spfa(int s,int n){
for(int i=;i<=n;i++)vis[i]=,dis[i]=INF;
top=,stack[++top]=,vis[s]=,dis[s]=;
for(int u;top>=;){
u=stack[top--],vis[u]=;
for(int i=head[u],v,w;v=E[i].v,w=E[i].w,i;i=E[i].next)
if(dis[v]>dis[u]+w){
dis[v]=dis[u]+w;
if(!vis[v])stack[++top]=v,vis[v]=;
}
}
int ans=;
for(int i=;i<=n;i++)ans=max(ans,dis[i]);
return ans;
}
int main(){
int n;scanf("%d",&n);
for(int i=;i<=n;i++)for(int j=;j<i;j++)add(i,j,w());
printf("%d\n",spfa(,n));
return ;
}
C++-POJ1502-MPI Maelstrom-[最短路][spfa][栈优化]的更多相关文章
- POJ-1502 MPI Maelstrom  迪杰斯特拉+题解
		POJ-1502 MPI Maelstrom 迪杰斯特拉+题解 题意 题意:信息传输,总共有n个传输机,先要从1号传输机向其余n-1个传输机传输数据,传输需要时间,给出一个严格的下三角(其实就是对角线 ... 
- POJ 1502 MPI Maelstrom (最短路)
		MPI Maelstrom Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 6044 Accepted: 3761 Des ... 
- POJ 1502 MPI Maelstrom [最短路 Dijkstra]
		传送门 MPI Maelstrom Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 5711 Accepted: 3552 ... 
- poj1502 MPI Maelstrom(单源最短路)
		题意:表面乍一看output是输出最小值,但仔细研究可以发现,这个最小值是从点1到所有点所花时间的最小值,其实是访问这些节点中的最大值,因为只有访问了最长时间的那个点才算访问了所有点.所以求最短路之后 ... 
- POJ1502 MPI Maelstrom   Dijkstra
		题意 给出图,从点1出发,求到最后一个点的时间. 思路 单源最短路,没什么好说的.注意读入的时候的技巧. 代码 #include <cstdio> #include <cstring ... 
- POJ1502: MPI Maelstrom
		红果果的dijstra算法应用,这里采用邻接表存储图 小插曲:while(scanf("%d",&n))提交时内存超限,改成while(scanf("%d&quo ... 
- 最短路--spfa+队列优化模板
		spfa普通版就不写了,优化还是要的昂,spfa是可以判负环,接受负权边和重边的,判断负环只需要另开一个数组记录每个结点的入队次数,当有任意一个结点入队大于点数就表明有负环存在 #include< ... 
- 最短路--SPFA及其优化
		SPFA Shortest Path Faster Algorithm 最短路径最快算法 算法思想 SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路 ... 
- C++-POJ2159-Candies[spfa][栈优化][邻接表]
		#include <cstdio> ,N=; struct edge{int v,w,next;}e[M];int head[N],cnt; void add(int u,int v,in ... 
随机推荐
- GNU make doc - 3.8
			Note that the directory prefix (D), as described in Implicit Rule Search Algorithm, is appended (aft ... 
- GO的方法值和方法表达式用法
			手册上关于这块的解释感觉不是很详细清晰,经过几个示例自己总结了下这块的用法. 方法表达式:说简单点,其实就是方法对象赋值给变量. 这里有两种使用方式: 1)方法值:隐式调用, struct实例获取方法 ... 
- .NetCore 3.0迁移遇到的各种问题
			错误集合 [错误]当前+.NET+SDK+不支持将+.NET+Core+3.0+设置为目标.请将+.NET+Core+2.2+或更低版 [解决方法]勾选上就可以了 2. [错误] add-migrat ... 
- Zabbix3.4使用详解
			zabbix-基础 第1章 关于zabbix 1.1 为什么要使用监控 1.对系统不间断实时监控2.实时反馈系统当前状态3.保证服务可靠性安全性4.保证业务持续稳定运行 1.2 如何进行监控 比如我们 ... 
- go 函数传递结构体
			我定义了一个结构体,想要在函数中改变结构体的值,记录一下,以防忘记 ep: type Matrix struct{ rowlen int columnlen int list []int } 这是一个 ... 
- PHP0018:PHP 图像处理
- select下拉框相关操作(更新中。。。)
			背景 记录一些关于html标签的操作,基本上都是jquery操作 select下拉框 根据value查找对应option,然后执行选中操作 $("#selectId").find( ... 
- xshell远程打开Linux图形界面加速方法:
			https://blog.csdn.net/zyy247796143/article/details/82143832 服务器安装: yum install Xvfb :在安装完谷歌浏览器后,安 ... 
- 到底什么是.NET?
			.NET 概念比较庞大,本文只讨论基础知识,只用简单语言描述. 我们是NET程序员,但是我们有没有思考过到底什么是.NET ? 官方定义 .NET是微软推出来的一个致力于敏捷开发的软件框架. 大概2 ... 
- Mac常用命令行
			Mac环境下启动tomcat 1.进入文件夹----------cd apache-tomcat-9.0.10/ cd bin 2.启动tomcat---------sudo sh startup.s ... 
