我不理解为什么写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][栈优化]的更多相关文章

  1. POJ-1502 MPI Maelstrom 迪杰斯特拉+题解

    POJ-1502 MPI Maelstrom 迪杰斯特拉+题解 题意 题意:信息传输,总共有n个传输机,先要从1号传输机向其余n-1个传输机传输数据,传输需要时间,给出一个严格的下三角(其实就是对角线 ...

  2. POJ 1502 MPI Maelstrom (最短路)

    MPI Maelstrom Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 6044   Accepted: 3761 Des ...

  3. POJ 1502 MPI Maelstrom [最短路 Dijkstra]

    传送门 MPI Maelstrom Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 5711   Accepted: 3552 ...

  4. poj1502 MPI Maelstrom(单源最短路)

    题意:表面乍一看output是输出最小值,但仔细研究可以发现,这个最小值是从点1到所有点所花时间的最小值,其实是访问这些节点中的最大值,因为只有访问了最长时间的那个点才算访问了所有点.所以求最短路之后 ...

  5. POJ1502 MPI Maelstrom Dijkstra

    题意 给出图,从点1出发,求到最后一个点的时间. 思路 单源最短路,没什么好说的.注意读入的时候的技巧. 代码 #include <cstdio> #include <cstring ...

  6. POJ1502: MPI Maelstrom

    红果果的dijstra算法应用,这里采用邻接表存储图 小插曲:while(scanf("%d",&n))提交时内存超限,改成while(scanf("%d&quo ...

  7. 最短路--spfa+队列优化模板

    spfa普通版就不写了,优化还是要的昂,spfa是可以判负环,接受负权边和重边的,判断负环只需要另开一个数组记录每个结点的入队次数,当有任意一个结点入队大于点数就表明有负环存在 #include< ...

  8. 最短路--SPFA及其优化

    SPFA Shortest Path Faster Algorithm 最短路径最快算法 算法思想 SPFA 算法是 Bellman-Ford算法 的队列优化算法的别称,通常用于求含负权边的单源最短路 ...

  9. 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 ...

随机推荐

  1. JS求1到100的累计值

    sum=0 for(i=1;i<=100;i++) { sum+=i } alert(sum)   作者:kerwin-chyl 文章链接:https:////www.cnblogs.com/k ...

  2. 实训第八天 有关python orm 的学习记录 常用方法02

    继续沿用第七天数据库:def test2(request): # 1.xxx__lt 小于 :查询出年龄小于22的所有 ret=models.Person.objects.filter(age__lt ...

  3. Windows、Linux之间传输文件的几种方式

    常见的文件传输协议有ftp.sftp,sftp就是在ftp的基础上对传输的数据进行了加密. ftp速度快,sftp速度略慢但安全性高. ftp默认使用21端口,sftp默认使用22端口. 我使用的是C ...

  4. CHECK INDEX OF TABLE

    SELECT INDEX_NAME,COLUMN_NAME FROM ALL_IND_COLUMNS WHERE table_name = '';

  5. MySQL必知存储引擎

    Mysql存储引擎 1.MyISAM MySQL 5.0 之前的默认数据库引擎,最为常用.拥有较高的插入,查询速度,但不支持事务. 2.InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁 ...

  6. 安装NFS到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:无 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# rpm -i https ...

  7. C语言实现读取字符转换为浮点数,不使用scanf函数

    c语言读取int或者float数据,我们习惯于使用scanf函数,但是如果不使用scanf函数,该怎么实现呢. 这里就来尝试一下,不使用scanf来读取数据并转换为float类型. 下面的getflo ...

  8. Radmin Server v3.5.1 汉化破解绿色版 第四版

    下载:https://pan.baidu.com/s/1skOXffJ 使用方法:1.运行“安装.bat”,安装过程静默,安装后无托盘图标,不创建任何快捷方式.2.运行“设置.bat”,进入 radm ...

  9. HashMap (JDK1.8) 分析

    一.HashMap(JDK1.8) 1.基本知识.数据结构 (1)时间复杂度:用来衡量算法的运行时间. 参考:https://blog.csdn.net/qq_41523096/article/det ...

  10. javascript当中onload用法

    7)onload onload就是等页面加载完后才执行. 例 3.7.1 <HEAD> <meta http-equiv="content-type" conte ...