描述

西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N 。

起初,岛屿之间没有任何的航线。后来随着交通的发展,逐渐出现了一些连通两座小岛的航线。
例如增加一条在 u 号小岛与 v 号小岛之间的航线,这条航线的用时为 e。 那么沿着这条航线,u 号小岛上的人可以前往 v 号小岛,同样的 v 号小岛上的人也可以前往 u 号小岛,其中沿着这一条航线花费的时间为 e。

同时,随着旅游业的发展,越来越多的人前来游玩。那么两个小岛之间的最短路径是多少便成为了饱受关注的话题。

格式

输入格式

输入共 M+1 行。

第一行有两个整数 N 和 M,分别表示小岛的数与总操作数。

接下来的 M 行,每行表示一个操作,格式如下:
0 s t:表示询问从 s 号小岛到 t 号小岛的最短用时(1<=s<=n, 1<=t<=n, s\neq t)。
1 u v e:表示新增了一条从 u 号小岛到 v 号小岛,用时为 e 的双向航线(1<=u<=n, 1<=v<=n, u ≠ v, 1<=e<=10^6)。

输出格式

输出针对每一次询问,单独输出一行。
对于每一组询问来说,如果不存在可行的道路,则输出 -1,否则输出最短用时。

裸上SPFA
#include<queue>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;struct na{int y,z,ne;na(){ne=0;}
};
int n,m,dis[101][101],c,x,y,z,p,l[101],r[101],num=0,k;
na b[10001];
char o;
queue <int> q;
bool bo[101];
const int INF=1e9;
inline int read(){p=0;o=getchar();while(o<'0'||o>'9') o=getchar();while(o>='0'&&o<='9') p=p*10+o-48,o=getchar();return p;
}
inline void in(int x,int y,int z){num++;if (l[x]==0) l[x]=num;else b[r[x]].ne=num;b[num].y=y;b[num].z=z;r[x]=num;
}
int main(){n=read();m=read();int i,j;for (i=1;i<=n;i++)for (j=1;j<=n;j++) dis[i][j]=INF;for (i=1;i<=n;i++) dis[i][i]=0;while(m--){c=read();x=read();y=read();if (c==0){if (dis[x][y]==INF) printf("-1\n");else printf("%d\n",dis[x][y]);}else{z=read();in(x,y,z);in(y,x,z);for (i=1;i<=n;i++){q.push(x);q.push(y);bo[x]=bo[y]=1;while(!q.empty()){k=q.front();q.pop();bo[k]=0;for (j=l[k];j;j=b[j].ne)if (dis[i][b[j].y]>dis[i][k]+b[j].z){dis[i][b[j].y]=dis[i][k]+b[j].z;if (!bo[b[j].y])q.push(b[j].y),bo[b[j].y]=1;}}}}}
}

转载于:https://www.cnblogs.com/Enceladus/p/5121088.html

vijos 1942 [AH 2005] 小岛相关推荐

  1. 【程序】STM32F407VE单片机通过FSMC驱动Ilitek ILI9325液晶屏以及XPT2046触控芯片

    本程序使用的单片机为STM32F407VE,晶振大小为8MHz,用10厘米长的杜邦线和彩屏相连,彩屏为微雪(Waveshare)的3.2inch 320x240 ILI9325 Touch LCD ( ...

  2. Ac-LVK-CHO,CAS号: 147600-40-6

    与白血病素(IC₅₀= 0.31 μ M)相比,白血病素的裂解类似物Ac-LVK-CHO对组织蛋白酶B的抑制作用更强(IC₅₀= 4 nM). 编号: 132576 中文名称: Cathepsin B ...

  3. 178603-78-6, Ac-YVAD-CMK

    细胞渗透性,不可逆的caspase-1抑制剂(ICE).N.Rouquet等研究表明Ac-YVAD-CMK是一种抗小鼠体内肝细胞凋亡的有效药物. 编号: 169055 中文名称: PASE-1 抑制剂 ...

  4. 102579-48-6,三肽Gly-Phe-Gly-aldehyde, H2N-GFG-CHO

    利用可逆性组织蛋白酶B抑制剂gfg -醛缩氨基脲,用亲和层析法纯化了日本血吸虫组织蛋白酶B样蛋白酶Sj31,并从疟原虫中分离出了恶性疟原虫. 编号: 200138 中文名称: 三肽Gly-Phe-Gl ...

  5. 半胱氨酸蛋白酶Caspase-3/7 Inhibitor II Ac-DNLD-CHO、775289-20-8

    caspase-3的有效抑制剂. Potent inhibitor for caspase-3. Ac-DNLD-CHO inhibited caspase-3 (Ki app = 0.68 nM) ...

  6. 醛肽:Ac-AAVALLPAVLLALLAPIETD-CHO|886462-83-5

    强效可逆的caspase-8抑制剂IETD-CHO通过连接对应于Kaposi成纤维细胞生长因子(FGF)信号肽序列的非极性CPP,使其具有细胞渗透性. 编号: 181407 中文名称: 醛肽:Ac-A ...

  7. 2005年下半年 网络工程师 上下午试卷【附带答案】

    2004-2017年真题+答案[0.23RMB]自取 2005年下半年 网络工程师 上午试卷 ● 阵列处理机属于 (1) 计算机.     (1)A.SISD     B.SIMD    C.MISD ...

  8. Vijos——T 1082 丛林探险

    https://vijos.org/p/1082 描述 东非大裂谷中有一片神秘的丛林,是全世界探险家的乐园,著名黄皮肤探险家BB一直想去试试.正好我国科学家2005年4月将首次对东非大裂谷进行科考,B ...

  9. 2005年11月网络工程师试题

    ●阵列处理机属于 (1) 计算机. (1)A. SISD B. SIMD C. MISD D. MIMD ●采用 (2) 不能将多个处理机互连构成多处理器系统. (2)A. STD总线 B. 交叉开关 ...

最新文章

  1. 程序员被辞 12 天,前领导要求回公司解释代码,结果懵了…
  2. HTML中的国家名称代码表
  3. 如何让火狐浏览器兼容window.event
  4. gitolite安装及配置教程centos7
  5. 信鸽 v3.0.9 安卓正式版
  6. 2020最新的eclipse之安卓开发环境搭建
  7. 受康奈尔笔记法启发设计的程序员算法手写本
  8. 考试日复习【字符串处理函数】
  9. C64x+中断控制器
  10. 二阶、三角、三阶、四阶、五阶魔方还原方法总结
  11. 记录This request has been blocked; the content must be served over HTTPS.
  12. matlab 最优比例,matlab最优化实验
  13. 用MicroPython开发ESP32-文件传输工具-ampy
  14. QObject成员函数connect()函数
  15. WebDAV之葫芦儿·派盘+FX文件管理器
  16. uniapp如何实现时间轴会议预约显示?
  17. html5一阶段考试题,千锋HTML5-JS阶段第三周理论考试题目02
  18. 常用通信协议——IIC协议编程实现
  19. 单刀双掷的模拟开关MAX4544
  20. 【2022秋招】IC设计/FPGA开发秋招经历总结

热门文章

  1. opencv图像深度-1_OpenCV空间AI竞赛之旅(第1部分-初始设置+深度)
  2. 我国身家超过亿元的有多少人?
  3. 余额宝升级,限额限时解除,以后再也不用定闹钟抢破头了!
  4. 年关节点,小心这9大贷款骗局
  5. 空间谱专题16:信号个数估计
  6. 使用Hexo搭建博客步骤详解
  7. 旅途人物之二:幸福的孩子们
  8. SPI参数化分配寄存器
  9. python程序打包多个py文件_不使用setup.py,打包 Python 项目
  10. java和python混合编程_浅谈C++与Java混合编程