hdu-2544 最短路(最短路)

来源:https://www.cnblogs.com/smallhester/archive/2018/08/18/9499048.html
-Advertisement-
Play Games

Time limit1000 ms Memory limit32768 kB 在每年的校賽里,所有進入決賽的同學都會獲得一件很漂亮的t-shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎? Input輸 ...


Time limit1000 ms Memory limit32768 kB   在每年的校賽里,所有進入決賽的同學都會獲得一件很漂亮的t-shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎? 

Input輸入包括多組數據。每組數據第一行是兩個整數N、M(N<=100,M<=10000),N表示成都的大街上有幾個路口,標號為1的路口是商店所在地,標號為N的路口是賽場所在地,M則表示在成都有幾條路。N=M=0表示輸入結束。接下來M行,每行包括3個整數A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A與路口B之間有一條路,我們的工作人員需要C分鐘的時間走過這條路。 
輸入保證至少存在1條商店到賽場的路線。 
Output對於每組輸入,輸出一行,表示工作人員從商店走到賽場的最短時間Sample Input

2 1
1 2 3
3 3
1 2 5
2 3 5
3 1 2
0 0

Sample Output

3
2

題解 最短路的模版題,我用的dijkstra,簡單的說就是先找第一個點的所有的連它的邊的最短的那條,把它加進去後,把連進去的點和原先的點看成同一個點,在找下一個離這個邊最短的點,
#include<iostream>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
#include<cstdlib>
#include<queue>
using namespace std;
#define PI 3.14159265358979323846264338327950
const int x=110;
const int INF=9999999;
int cost[x][x],n,m;
int d[x];
bool vis[x];

void dijkstra(int f )
{
    for(int i=1; i<=n; ++i)
        d[i] = INF;
    d[f] = 0;
    memset(vis, 0, sizeof(vis));
    for(int i=1;i<=n;++i)
    {
        int u=-1;
        for(int j=1;j<=n;++j)
            if(!vis[j])
            {
                if(u==-1 || d[j]<d[u])
                    u=j;
            }
        vis[u]=1;
        for(int j=1; j<=n; ++j)
            if(!vis[j])
            {
            int tmp = d[u] + cost[u][j];
            if(tmp<d[j]) d[j] = tmp;
            }

    }
}

int main(){
    int a,b,c;
    while(~scanf("%d%d",&n,&m)&&n+m)
    {
        for(int i=1; i<=n; ++i)
        {
            cost[i][i]=INF;
            for(int j=i+1;j<=n;++j)
                cost[i][j]=cost[j][i]=INF;
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%d %d %d",&a,&b,&c);
             cost[a][b]=cost[b][a]=c;
        }
        dijkstra(1);
        printf("%d\n",d[n]);
        
    }
        
}

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、大概思路 1、從cookie中取商品列表 2、判斷要添加的商品是否存在cookie中。 3、如果已添加過,則把對應的商品取出來,把要添加的商品的數量加上去。 4、如果沒有添加過,則把改商品添加到商品列表中。 5、再把商品列表序列化,加入cookie中。 二、代碼實現 1、定義一個購物車商品的po ...
  •   Python一切皆對象,但同時,Python還是一個多範式語言(multi paradigm),你不僅可以使用面向對象的方式來編寫程式,還可以用面向過程的方式來編寫相同功能的程式(還有函數式、聲明式等,我們暫不深入)。Python的多範式依賴於Python對象中的特殊方法(specia ...
  • 異常處理 在項目開發中,異常處理是不可或缺的。異常處理幫助人們debug,通過更加豐富的信息,讓人們更容易找到bug的所在。異常處理還可以提高程式的容錯性。 我們之前在講迴圈對象的時候,曾提到一個StopIteration的異常,該異常是在迴圈對象窮盡所有元素時的報錯。 我們以它為例,來說明基本的異 ...
  • Time limit1000 ms Memory limit65536 kB The multiplication puzzle is played with a row of cards, each containing a single positive integer. During the ...
  • 1.ValueOf和強轉的區別? Case1: 需要強調的是String.valueOf()方法,當參數為類型是object,且值時null的時候他的處理方式 Case2: 基本包裝類型(Long,Integer等)的valueOf(Object)的處理和String不一樣,Object是null就 ...
  • 為什麼我們編寫的程式可以運行在電腦上?我們編寫的程式會經過編譯,翻譯成為電腦可以運行的電腦指令。 電腦語言是我們頭腦的延伸,就像音樂,繪畫和電影一樣,創造一種具有表達的藝術的東西。 面向對象程式設計就像自然界中的物種學家分類物種一樣,他們具有某些共同的特征,所以我們通過class類的概念,我 ...
  • Time limit1000 ms Memory limit65536 kB Background The knight is getting bored of seeing the same black and white squares again and again and has decid ...
  • 優點 1、語法簡單 2、免費、開源 3、跨平臺、可移植,window、linux、mac通用 4、既支持面向過程也支持面向對象 5、豐富的庫 6、腳本語言 7、膠水語言,因為python能夠把其他語言製作的各種模塊(尤其是C/C++)很輕鬆地結合在一起 8、解釋型語言 9、動態語言 缺點 1、運行速 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 本文介紹一款使用 C# 與 WPF 開發的音頻播放器,其界面簡潔大方,操作體驗流暢。該播放器支持多種音頻格式(如 MP4、WMA、OGG、FLAC 等),並具備標記、實時歌詞顯示等功能。 另外,還支持換膚及多語言(中英文)切換。核心音頻處理採用 FFmpeg 組件,獲得了廣泛認可,目前 Git ...
  • OAuth2.0授權驗證-gitee授權碼模式 本文主要介紹如何筆者自己是如何使用gitee提供的OAuth2.0協議完成授權驗證並登錄到自己的系統,完整模式如圖 1、創建應用 打開gitee個人中心->第三方應用->創建應用 創建應用後在我的應用界面,查看已創建應用的Client ID和Clien ...
  • 解決了這個問題:《winForm下,fastReport.net 從.net framework 升級到.net5遇到的錯誤“Operation is not supported on this platform.”》 本文內容轉載自:https://www.fcnsoft.com/Home/Sho ...
  • 國內文章 WPF 從裸 Win 32 的 WM_Pointer 消息獲取觸摸點繪製筆跡 https://www.cnblogs.com/lindexi/p/18390983 本文將告訴大家如何在 WPF 裡面,接收裸 Win 32 的 WM_Pointer 消息,從消息裡面獲取觸摸點信息,使用觸摸點 ...
  • 前言 給大家推薦一個專為新零售快消行業打造了一套高效的進銷存管理系統。 系統不僅具備強大的庫存管理功能,還集成了高性能的輕量級 POS 解決方案,確保頁面載入速度極快,提供良好的用戶體驗。 項目介紹 Dorisoy.POS 是一款基於 .NET 7 和 Angular 4 開發的新零售快消進銷存管理 ...
  • ABP CLI常用的代碼分享 一、確保環境配置正確 安裝.NET CLI: ABP CLI是基於.NET Core或.NET 5/6/7等更高版本構建的,因此首先需要在你的開發環境中安裝.NET CLI。這可以通過訪問Microsoft官網下載並安裝相應版本的.NET SDK來實現。 安裝ABP ...
  • 問題 問題是這樣的:第三方的webapi,需要先調用登陸介面獲取Cookie,訪問其它介面時攜帶Cookie信息。 但使用HttpClient類調用登陸介面,返回的Headers中沒有找到Cookie信息。 分析 首先,使用Postman測試該登陸介面,正常返回Cookie信息,說明是HttpCli ...
  • 國內文章 關於.NET在中國為什麼工資低的分析 https://www.cnblogs.com/thinkingmore/p/18406244 .NET在中國開發者的薪資偏低,主要因市場需求、技術棧選擇和企業文化等因素所致。歷史上,.NET曾因微軟的閉源策略發展受限,儘管後來推出了跨平臺的.NET ...
  • 在WPF開發應用中,動畫不僅可以引起用戶的註意與興趣,而且還使軟體更加便於使用。前面幾篇文章講解了畫筆(Brush),形狀(Shape),幾何圖形(Geometry),變換(Transform)等相關內容,今天繼續講解動畫相關內容和知識點,僅供學習分享使用,如有不足之處,還請指正。 ...
  • 什麼是委托? 委托可以說是把一個方法代入另一個方法執行,相當於指向函數的指針;事件就相當於保存委托的數組; 1.實例化委托的方式: 方式1:通過new創建實例: public delegate void ShowDelegate(); 或者 public delegate string ShowDe ...