description
這是乙個很難的問題,你要找出「12345678987654321!」答案裡一共含有多少個「0」,「!」表示階乘的意思。
其實,我是在開玩笑的,地球上沒有人真正能成功的解決這個問題。
實際上,我是乙個間諜,我從敵人手中偷取了一些很重要的秘密,我只想以盡量少的時間離開敵人的基地。
敵人的基地地圖可以用一張網路圖表示,交叉路口可表示為結點,通路可表示為邊,我需要從基地總部逃出到撤離點。到底怎樣走才最快呢?幸好我有一台超強的掌上電腦,請盡快幫我解決這個問題!
input
資料第一行是兩個整數n和m,(1<=n<=200,0<=m<=10000),分別表示交叉路口數量與通路數量。接下來m行每行有三個整數i,j,k(i!=j,1<=k<=10000),表示有一條長度為k的無向通路連線路口i與路口j。注意路口i與路口j間可能有多條不同長度的通路。
你可以假定交叉路口是用1到n的整數來標識的,編號1是基地總部,編號n是撤離
output
輸出只有乙個整數,為最短的逃離距離,如果不可能逃出,則輸出「-1」。
solutions
練個手而已,見**
**
var
n,m:longint;
a:array [0..201,0..201] of longint;
function
min(o,p:longint):longint;
begin
if othen
exit(o);
exit(p);
end;
procedure
init;
var i,x,y,z:longint;
begin
fillchar(a,sizeof(a),63);
readln(n,m);
for i:=1
to m do
begin
readln(x,y,z);
a[x,y]:=min(a[x,y],z);
a[y,x]:=min(a[y,x],z);
end;
for i:=1
to n do
a[i,i]:=0;
end;
procedure
floyd;
var i,j,k:longint;
begin
for k:=1
to n do
for i:=1
to n do
for j:=1
to n do
a[i,j]:=min(a[i,j],a[i,k]+a[k,j]);
end;
begin
init;
floyd;
if a[1,n]=a[0,0] then writeln('-1')
else writeln(a[1,n]);
end.
面試中最難回答的問題
1.介紹你自己 這個問題通常是乙個面試的開始的第乙個問題,要額外的小心不要滔滔不絕。盡可能的讓你的回答在一分鐘,最多2分鐘的時間內結束。你的回答應該包含以下4個,主題 早期生活,教育背景,工作背景以及最近的工作經驗。要著重強調最後的那個主題。要牢記這個問題通常是乙個熱身的問題,不要把你的最重要的觀點...
競價推廣過程中最難的問題是什麼?
切記不以轉化為目的營銷推廣都是耍流氓!經常有人說,競價推廣就要搶排名 搶流量。但搶來的流量是沒有轉化效果的又有何意義?在競價中直接影響推廣效果的核心問題就是 流量的精準度,可以說流量既是推廣的核心也是推廣的特性。因此,這就需要企業在開始推廣之前賬戶的搭建過程中做好流量的布局,明確哪些流量能要,哪些流...
面試時最難的25個問題 真的太實際了
size large 各位朋友,這篇文章不是什麼萬靈丹,不能適合所有的人。對我個人來講它一無是處,只有當自己擁有勝任某項工作的能力的時候,這些東西將成為乙個形式的東西。因為換位思考下,我們大家都會知道尋找乙個合理價位的人才對企業來說不是件難事。簡介 工作面試時最難的25個問題,很好的準備是成功的一半...