每日一題(二十三) 迪傑斯特拉

2021-09-11 01:17:40 字數 1105 閱讀 6640

題目描述:

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

輸入:

輸入包括多組資料。每組資料第一行是兩個整數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條商店到賽場的路線。當輸入為兩個0時,輸入結束。

輸出:

對於每組輸入,輸出一行,表示工作人員從商店走到賽場的最短時間。

樣例輸入:

2 11 2 3

3 31 2 5

2 3 5

3 1 2

0 0樣例輸出:32

#include#includeusing namespace std;

struct e ;

vectoredge[101];

bool mark[101]; //標記為true時表示已得到該結點的最短路徑長度

int dis[101]; //距離向量。標記為true時表示最短路徑長度

int main()

for (int i = 1; i <= n; i++)

dis[1] = 0;

mark[1] = true;

int newp = 1;

for (int i = 1; i < n; i++)

}int min = 999999999;

for (int j = 1; j <= n; j++)

}mark[newp] = true;

} printf("%d\n", dis[n]);

} return 0;

}

每日一練(二十三)

以下說法正確的是 a.多個程序操作同乙個檔案時,應該要考慮到檔案的一致性問題 b.可通過檔案在不同程序間進行資料傳遞和共享 c.可以通過全域性變數在不同程序間傳遞資料 d.乙個程序可以訪問到所有物理記憶體空間 答案 ab 分析 這裡考察到程序間通訊機制,有管道 訊號量 共享記憶體 訊息佇列 訊號 s...

每日一題(十三)

有時候,寫類似如下的 會一直輸出,我們的本意是一次輸入完成,再進行一次輸入。原因是scanf是從緩衝區讀取輸入進行賦值的,上次的輸入資料還在緩衝區,就導致程式一直在判斷上次的快取資料。處理方法就是在scanf讀取緩衝區的資料之後,利用getchar函式把緩衝區的資料取出來。c語言中有兩種整數運算 其...

每日一題(二十)

12.3 按字元輸入輸出 12.4 linux 程序間通訊的方式 12.5 磁碟管理命令 du df 所有查詢中hash查詢效率最高,在所有排序中,快速排序的效率也是最高的。採用遞迴函式的方法來實現快速排序!include include include intquick sort int int,...