vijos 1942 [AH 2005] 小島

描述

西伯利亞北部的寒地,坐落著由 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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

聊城大學計算機應用基礎函授,聊城大學試題計算機應用基礎試題

姓名 年級專業層次 教學單位密封線 第1頁 共3頁聊城大學《計算機應用基礎》函授試題一、判斷題(共10題&#xff0c;每題2分&#xff0c;共20分)1、信息按狀態劃分可以劃分為動態信息和靜態信息。( √ )2、操作系統不具有通用性。( )3、在Windows XP環境中&#xff0c;整個顯示…

Struts2中 Path (getContextPath與basePath)

struts2中的路徑問題是根據action的路徑而不是jsp路徑來確定&#xff0c;所以盡量不要使用相對路徑。 雖然可以用redirect方式解決&#xff0c;但redirect方式并非必要。解決辦法非常簡單&#xff0c;統一使用絕對路徑。&#xff08;在jsp中用request.getContextpath方式來拿到…

(七)SpringBoot+SpringCloud —— 集成斷路器

2019獨角獸企業重金招聘Python工程師標準>>> 斷路器簡介 在一個項目中&#xff0c;系統可能被拆分成多個服務&#xff0c;例如用戶、訂單和庫存等。 這里存在這服務調用服務的情況&#xff0c;例如&#xff0c;客戶端調用訂單服務&#xff0c;訂單服務又調用庫存服務…

Java反射機制的使用方法

Java的反射機制同意你在程序執行的過程中獲取類定義的細節。有時候在程序執行的時候才得知要調用哪個方法&#xff0c;這時候反射機制就派上用場了。獲取類 類的獲取方法有下面幾種&#xff1a;forName()。通過Class.forName()獲取與字符串向相應的類。比方\lstinline{Class.fo…

銀行計算機設備日常檢查表,[計算機]201154安全檢查表.doc

[計算機]201154安全檢查表土建基礎框架施工檢查表編號&#xff1a;2011-03-01-11工程名稱鑄造車間檢查時間2011 年 月 日檢查部位基礎施工檢 查 人檢 查結 論百分制折合分數&#xff1a;需要整改共 條。受檢單位河南周口受檢責任人檢 查 內 容檢查項目檢查內容和安全文明施工要…

我為什么要寫FansUnion個人官網-BriefCMS-電子商務malling等系統

不少朋友一直關注我最近幾個月&#xff0c;已經做的和正在做的項目&#xff0c;比如個人官網、BriefCMS、電子上午malling等系統。但是呢&#xff0c;部分朋友比較好奇&#xff0c;為啥要去寫。他們比較疑惑的是&#xff0c;市面上已經有很多類似的系統了&#xff0c;甚至有部分…

Node開發文件上傳系統及向七牛云存儲和亞馬遜AWS S3的文件上傳

背景起&#xff0c;有奏樂&#xff1a; 有偉人曰&#xff1a;學習技能的最好途徑莫過于理論與實踐相結合。 初學Node這貨時&#xff0c;每每讀教程必會Fall asleep。 當真要開發系統時&#xff0c;頓覺精神百倍&#xff0c;即便踩坑無數也不失斗志。 因為同團隊的小伙伴們都在辛…

計算機學業水平考試及格,信息技術學業水平考試表格部分試題(帶答案)

第三章表格信息的加工與表達復習學案【學習目標】1.熟練使用excel加工表格信息&#xff0c;理解用圖表來表現信息的特點與意義&#xff0c;2.能根據表格數據關系選擇合適的圖表類型表達意圖。【考點】1.表格中常用的函數及其求值方法&#xff1b;2.根據數據選擇合適的圖表類型&…

Ok6410掛載NFS

虛擬機&#xff1a; apt-get install portmap apt-get install nfs-kernel-server mkdir /nfs/root/mNFS chmod 777 /nfs chmod 777 /nfs/root vi /etc/exports 添加&#xff1a;/nfs/root *(rw,sync,no_root_squash) 開發板&#xff1a; mount -t nfs 192.168.0.12…

云計算:容器技術變革云計算,SaaS帶動CaaS市場

報告摘要&#xff1a; 1、容器技術增速驚人&#xff0c;市場認可度提高 虛擬化是云計算的重要基礎&#xff0c;Docker定義了一套容器從構建到執行的標準化體系&#xff0c;改變了傳統的虛擬化技術&#xff0c;深度影響了云計算領域。 隨著谷歌、亞馬遜、微軟等云計算廠商紛紛加…

Jan 12 - Delete Node in a Linked List; Data Structure; Linked List; Pointer;

代碼&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode(int x) { val x; }* }*/ public class Solution {public void deleteNode(ListNode node) {if(node null) return;while(node.next ! …

三年級神奇電子計算機教案,人教版小學三年級下冊信息技術教案

人教版小學三年級下冊信息技術教案 人教版小學信息技術教案第一課 神奇的信息世界教學目的&#xff1a;通過學習使學生更充分地了解信息技術在生活中的應用。教學內容&#xff1a;觀看“神奇的信息世界”光碟教學準備&#xff1a;1、調試每臺計算機 2、打開計算機并由教師機控制…

spark 安裝配置

最佳參考鏈接 https://opensourceteam.gitbooks.io/bigdata/content/spark/install/spark-160-bin-hadoop26an_zhuang.html Apache Spark1.1.0部署與開發環境搭建   Spark是Apache公司推出的一種基于Hadoop Distributed File System(HDFS)的并行計算架構。與MapReduce不同&am…

《大數據原理:復雜信息的準備、共享和分析》一一2.5 在標識符中嵌入信息:不推薦...

2.5 在標識符中嵌入信息&#xff1a;不推薦大多數標識符不是純粹的隨機數&#xff0c;它們通常含有一些可由熟悉標識系統的人解釋的嵌入信息。例如&#xff0c;標識符中可以嵌入姓的前三個字母&#xff0c;同樣&#xff0c;標識符中也可以嵌入出生年份的最后兩位數字。標識符中…

python基礎知識-列表,元組,字典

列表&#xff08;list&#xff09; 賦值方法&#xff1a; l [11,45,67,34,89,23] l list() 列表的方法&#xff1a; 1 #!/usr/bin/env python2 3 class list(object):4 """5 list() -> new empty list6 list(iterable) -> new list initial…

車站計算機聯鎖系統的仿真設計,車站計算機聯鎖仿真設計.doc

車站計算機聯鎖仿真設計2012 屆 交通運輸 學院專 業學 號 2008學生姓名指導教師完成日期 2012年 月日計算機聯鎖是保證車站內列車和調車作業安全&#xff0c;提高車站通過能力的一種信號設備。設計以沙盤模型為根據&#xff0c;練習制作聯鎖信號圖表&#xff0c;使用Visual Bas…

如何解決機器學習中的數據不平衡問題?

在機器學習任務中&#xff0c;我們經常會遇到這種困擾&#xff1a;數據不平衡問題。 數據不平衡問題主要存在于有監督機器學習任務中。當遇到不平衡數據時&#xff0c;以總體分類準確率為學習目標的傳統分類算法會過多地關注多數類&#xff0c;從而使得少數類樣本的分類性能下降…

ubuntu每次登陸都用root賬號登陸

sudo -s 進入 root 用戶權限模式 vi /etc/lightdm/lightdm.conf [SeatDefaults] greeter-sessionunity-greeter user-sessionUbuntu greeter-show-manual-logintrue allow-guestfasle 重啟后再登陸就會 直接用root登陸了 版權聲明&#xff1a;本文為博主原創文章&#xff0c;未…

js-BOM

私有變量&#xff1a; 1、在一個實例上調用setName&#xff08;&#xff09;會影響所有的實例 BOM&#xff1a; 1、全局變量不能通過delete操作符刪除&#xff0c;而直接在window對象上定義的屬性可以 2、嘗試訪問為聲明的變量會拋出錯誤&#xff0c;但通過查詢window對象&…

計算機組成實驗v代表什么,2014計算機組成原理實驗指導V1.3.docx

文檔介紹&#xff1a;實驗一運算器組成實驗實驗目的熟悉Logisim軟件平臺。掌握運算器基本工作原理掌握運算溢出檢測的原理和實現方法;理解有符號數和無符號數運算的區別;理解基于補碼的加/減運算實現原理;熟悉運算器的數據傳輸通路。實驗環境Logisim是一款數字電路模擬的教育軟…