浪里個浪 FZU - 2261

TonyY是一個喜歡到處浪的男人,他的夢想是帶著蘭蘭姐姐浪遍天朝的各個角落,不過在此之前,他需要做好規劃。

現在他的手上有一份天朝地圖,上面有n個城市,m條交通路徑,每條交通路徑都是單行道。他已經預先規劃好了一些點作為旅游的起點和終點,他想選擇其中一個起點和一個終點,并找出從起點到終點的一條路線親身體驗浪的過程。但是他時間有限,所以想選擇耗時最小的,你能告訴他最小的耗時是多少嗎?

Input

?

包含多組測試數據。

輸入第一行包括兩個整數n和m,表示有n個地點,m條可行路徑。點的編號為1 - n。

接下來m行每行包括三個整數i, j, cost,表示從地點i到地點j需要耗時cost。

接下來一行第一個數為S,表示可能的起點數,之后S個數,表示可能的起點。

接下來一行第一個數為E,表示可能的終點數,之后E個數,表示可能的終點。

0<S, E≤n≤100000,0<m≤100000,0<cost≤100。

Output

輸出他需要的最短耗時。

Sample Input

4 4
1 3 1
1 4 2
2 3 3
2 4 4
2 1 2
2 3 4

Sample Output

1



em 這個題開始就想到了炒雞源點和炒雞匯點,結果偷懶不寫隊列優化T了,看到網上很多用spfa的,還有用網絡流的大佬,網絡流我還不會,這里附上隊列優化迪杰斯特拉的解法

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<vector>
 4 #include<string.h>
 5 #include<queue>
 6 #include<utility>
 7 #define INF 0x3f3f3f3f
 8 
 9 using namespace std;
10 typedef pair<int,int> P;
11 
12 struct node
13 {
14     int to,w;
15     node(int v,int val):to(v),w(val) {}
16 };
17 
18 int n,m;
19 const int maxn = 100007;
20 int vis[maxn];
21 int dist[maxn];
22 vector<node>g[maxn];
23 
24 void init()
25 {
26 
27     int a,b,c;
28     for(int i=0; i<=n; i++)g[i].clear();
29     for(int i=0; i<m; i++)
30     {
31         scanf("%d%d%d",&a,&b,&c);
32         g[a].push_back(node(b,c));
33     }
34     scanf("%d",&a);
35     for(int i=0; i<a; i++)
36     {
37         scanf("%d",&b);
38         g[0].push_back(node(b,0));
39     }
40     scanf("%d",&a);
41     for(int i=0; i<a; i++)
42     {
43         scanf("%d",&b);
44         g[b].push_back(node(n+1,0));
45     }
46 }
47 
48 void dijkstra(int start)
49 {
50     priority_queue<P,vector<P>,greater<P> >que;
51     memset(dist,INF,sizeof(dist));
52     dist[start] = 0;
53     que.push(P(0,start));
54     while(!que.empty())
55     {
56         P p = que.top();
57         que.pop();
58         int v = p.second;
59         if(dist[v]<p.first)continue;
60         for(int i=0; i<g[v].size(); i++)
61         {
62             node e = g[v][i];
63             if(dist[e.to] > dist[v] + e.w)
64             {
65                 dist[e.to] = dist[v] + e.w;
66                 que.push(P(dist[e.to],e.to));
67             }
68         }
69     }
70 }
71 
72 int main()
73 {
74     while(~scanf("%d%d",&n,&m))
75     {
76         init();
77         dijkstra(0);
78         printf("%d\n",dist[n+1]);
79     }
80     return 0;
81 }
View Code

?

轉載于:https://www.cnblogs.com/iwannabe/p/9132490.html

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

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

相關文章

C#設計模式(9)——裝飾者模式(Decorator Pattern)

一、引言 在軟件開發中&#xff0c;我們經常想要對一類對象添加不同的功能&#xff0c;例如要給手機添加貼膜&#xff0c;手機掛件&#xff0c;手機外殼等&#xff0c;如果此時利用繼承來實現的話&#xff0c;就需要定義無數的類&#xff0c;如StickerPhone&#xff08;貼膜是手…

北大青鳥c語言課后答案,北大青鳥C語言教程--第一章 C語言基礎.ppt

《北大青鳥C語言教程--第一章 C語言基礎.ppt》由會員分享&#xff0c;可在線閱讀&#xff0c;更多相關《北大青鳥C語言教程--第一章 C語言基礎.ppt(20頁珍藏版)》請在人人文庫網上搜索。1、第一章,C 語言基礎,2,課程地位,.Net ,以 # 開始的語句稱為預處理器指令,#include語句不…

nosql_探索NoSQL系列

nosql數據科學 (Data Science) Knowledge on NoSQL databases seems to be an increasing requirement in data science applications, yet, the taxonomy is so diverse and problem-centered that it can be a challenge to grasp them. This post attempts to shed light on…

C++TCP和UDP屬于傳輸層協議

TCP和UDP屬于傳輸層協議。其中TCP提供IP環境下的數據可靠傳輸&#xff0c;它事先為要發送的數據開辟好連接通道&#xff08;三次握手&#xff09;&#xff0c;然后再進行數據發送&#xff1b;而UDP則不為IP提供可靠性&#xff0c;一般用于實時的視頻流傳輸&#xff0c;像rtp、r…

程序員如何利用空閑時間掙零花錢

一&#xff1a; 私活 作為一名程序員&#xff0c;在上班之余&#xff0c;我們有大把的時間&#xff0c;不能浪費&#xff0c;這些時間其實都是可以用來挖掘自己潛在的創造力&#xff0c;今天要討論的話題就是&#xff0c;程序員如何利用空余時間掙零花錢&#xff1f;比如說周末…

編寫程序乘法口訣表C語言,陳廣川問:c語言編程九九乘法口訣表 怎樣用c語言寫九九乘法口訣表?...

怎樣用c語言寫九九乘法口訣表&#xff1f;哈哈&#xff0c;我剛剛用javascript寫好乘法口訣表。C語言&#xff0c;如何編寫程序輸出九九乘法表。形式如下 ********* ******** ******* ****** ***** **** *** ** *&#xff1f;兩個循環&#xff0c;一般用for循環 一個循環控制行…

PHP中文亂碼解決辦法

一&#xff0e;首先是PHP網頁的編碼 1. php文件本身的編碼與網頁的編碼應匹配 a. 如果欲使用gb2312編碼&#xff0c;那么php要輸出頭&#xff1a;header(“Content-Type: text/html; charsetgb2312")&#xff0c;靜態頁面添加<meta http-equiv"Content-T…

python中api_通過Python中的API查找相關的工作技能

python中api工作技能世界 (The World of Job Skills) So you want to figure out where your skills fit into today’s job market. Maybe you’re just curious to see a comprehensive constellation of job skills, clean and standardized. Or you need a taxonomy of ski…

欺詐行為識別_使用R(編程)識別欺詐性的招聘廣告

欺詐行為識別背景 (Background) Online recruitment fraud (ORF) is a form of malicious behaviour that aims to inflict loss of privacy, economic damage or harm the reputation of the stakeholders via fraudulent job advertisements.在線招聘欺詐(ORF)是一種惡意行為…

PE文件的感染C++源代碼

PE文件的感染C源代碼 PE文件規定了可執行文件的格式&#xff0c;凡是符合此格式的文件都能在windows系統上運行。PE文件的格式暫且不談&#xff0c;說一些感染PE文件的幾種途徑。 導入表感染。這個涉及比較復雜的操作&#xff0c;首先&#xff0c;要自行寫一個dll文件&#x…

c語言實驗四報告,湖北理工學院14本科C語言實驗報告實驗四數組

湖北理工學院14本科C語言實驗報告實驗四 數組.doc實驗四 數 組實驗課程名C語言程序設計專業班級 14電氣工程2班 學號 201440210237 姓名 熊帆 實驗時間 5.12-5.26 實驗地點 K4-208 指導教師 祁文青 一、實驗目的和要求1. 掌握一維數組和二維數組的定義、賦值和輸入輸出的方法&a…

c語言宏定義

一. #define是C語言中提供的宏定義命令&#xff0c;其主要目的是為程序員在編程時提供一定的方便&#xff0c;并能在一定程度上提高程序的運行效率&#xff0c;但學生在學習時往往不能理解該命令的本質&#xff0c;總是在此處產生一些困惑&#xff0c;在編程時誤用該命令&#…

rabbitmq channel參數詳解【轉】

1、Channel 1.1 channel.exchangeDeclare()&#xff1a; type&#xff1a;有direct、fanout、topic三種durable&#xff1a;true、false true&#xff1a;服務器重啟會保留下來Exchange。警告&#xff1a;僅設置此選項&#xff0c;不代表消息持久化。即不保證重啟后消息還在。原…

感染EXE文件代碼(C++)

C代碼#include <windows.h> #include <winnt.h> #include <stdio.h> #include <assert.h> #define DEBUG 1 #define EXTRA_CODE_LENGTH 18 #define SECTION_SIZE 0x1000 #define SECTION_NAME ".eViLhsU" #define F…

nlp gpt論文_GPT-3:NLP鎮的最新動態

nlp gpt論文什么是GPT-3&#xff1f; (What is GPT-3?) The launch of Open AI’s 3rd generation of the pre-trained language model, GPT-3 (Generative Pre-training Transformer) has got the data science fraternity buzzing with excitement!Open AI的第三代預訓練語言…

真實不裝| 阿里巴巴新人上路指北

新手上路&#xff0c;總想聽聽前輩們分享他們走過的路。橙子選取了阿里巴巴合伙人逍遙子&#xff08;阿里巴巴集團CEO&#xff09; 、Eric&#xff08;螞蟻金服董事長兼CEO&#xff09;、Judy&#xff08;阿里巴巴集團CPO&#xff09;的幾段分享&#xff0c;他們是如何看待職場…

小程序學習總結

上個周末抽空了解了一下小程序,現在將所學所感記錄以便日后翻看;需要指出的是我就粗略過了下小程序的api了解了下小程序的開發流程以及工具的使用,然后寫了一個小程序的demo;在我看來,如果有前端基礎學習小程序無異于錦上添花了,而我這個三年的碼農雖也寫過不少前端代碼但離專業…

tomcat java環境配置

jsp 環境變量配置 一、配置JDK 首先&#xff0c;從Sun網站上下載jdk。 雙擊jdk-1_5_0_04-windows-i586-p.exe開始安裝&#xff0c;默認安裝到C:/Program Files/Java/jdk1.5.0_04&#xff0c;你也可以更改路徑&#xff0c;但要記住最后選擇的路徑&#xff0c;設置環境變量的時候…

uber 數據可視化_使用R探索您在Uber上的活動:如何分析和可視化您的個人數據歷史記錄

uber 數據可視化Perhaps, dear reader, you are too young to remember that before, the only way to request a particular transport service such as a taxi was to raise a hand to make a signal to an available driver, who upon seeing you would stop if he was not …

java B2B2C springmvc mybatis電子商城系統(四)Ribbon

2019獨角獸企業重金招聘Python工程師標準>>> 一&#xff1a;Ribbon是什么&#xff1f; Ribbon是Netflix發布的開源項目&#xff0c;主要功能是提供客戶端的軟件負載均衡算法&#xff0c;將Netflix的中間層服務連接在一起。Ribbon客戶端組件提供一系列完善的配置項如…