7-16 春遊
7-16 春遊 (25分)
春天陽光燦爛,小宋突然心血來潮想騎自行車去學校外面玩,但是到達目的地的路線不止一條,他想盡快的到達目的地,又能不需要騎太遠的路, 你能幫助他嗎?
輸入格式:
輸入包含一個測試資料,第一行有三個整數n(2 <= n <= 1000),途中可能經過的地點的個數,地點編號1~n;m(1 <= m <= 10000),為路徑的條數;d(2 <= d <= n),目的地編號;其中學校為起點,預設為1。接下來m行: x y time dist , x y表示地點x,y是可以相互到達的,time,dist分別表示x到y或y到x的時間,距離。
輸出格式:
按如下格式輸出“花費的時間+空格+要騎的距離+空格+從學校到達目的地的路徑”,路徑中的兩個地點之間以箭頭(->)分隔。(具體見輸出樣例)
輸入樣例:
在這裡給出一組輸入。例如:
7 8 7
1 2 1 1
1 3 1 1
2 4 1 2
3 4 1 1
4 5 1 2
4 6 1 1
5 7 1 1
6 7 2 1
輸出樣例:
在這裡給出相應的輸出。例如:
4 5 1->3->4->5->7
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
#define INF 0x3f3f3f3f
int n;
int tu[1010][1010],len[1010][1010];
int tim[1010],dist[1010];
int vist[1010],path[1010],f[1010];
void dijkstra()
{
int i,j;
while(1)
{
int minn=INF,x=-1;
for(i=1; i<n+1; i++)
{
if(vist[i]!=1&&tim[i]<minn)
{
minn=tim[i];
x=i;
}
}
if(x==-1)
break;
vist[x]=1;
for(i=1; i<n+1; i++)
{
if(vist[i]||!tu[x][i])
continue;
if(tim[i]>tim[x]+tu[x][i])
{
tim[i]=tim[x]+tu[x][i];
dist[i]=dist[x]+len[x][i];
path[i]=x;
}
else if(tim[i]==tim[x]+tu[x][i])
{
if(dist[i]>dist[x]+len[x][i])
{
dist[i]=dist[x]+len[x][i];
path[i]=x;
}
}
}
}
}
int main()
{
int i,j,m,end;
scanf("%d%d%d",&n,&m,&end); //cin>>n>>m>>end;
while(m--)
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d); //cin>>a>>b>>c>>d;
tu[a][b]=tu[b][a]=c;
len[a][b]=len[b][a]=d;
}
/*fill(tim,tim+1005,INF);
fill(dist,dist+1005,INF);
fill(path,path+1005,-1);*/
memset(tim,INF,sizeof(tim));
memset(dist,INF,sizeof(dist));
memset(path,-1,sizeof(path));
tim[1]=0;
dist[1]=0;
dijkstra();
printf("%d %d ",tim[end],dist[end]); //cout<<tim[end]<<" "<<dist[end]<<" ";
int k=1;
f[0]=end;
while(path[end]!=-1)
{
end=path[end];
f[k++]=end;
}
for(i=k-1;i>=1;i--)
printf("%d->",f[i]);
printf("%d",f[0]);
}
相關文章
- 【題解】列隊春遊
- 春遊 C++(半對)(最小字典序)C++
- 遊戲行業嚴查版號,“老遊戲”煥發第二春遊戲行業
- 2020年春節,遊戲火得一塌糊塗遊戲
- 木鳥民宿:春遊大資料洞察報告大資料
- 長春開票-長春開票
- steam2022春節特惠時間介紹 steam2022春節特惠哪些遊戲值得買遊戲
- 長春哪開票-長春開票
- ForwardKeys:2020年春節中國出境遊預訂下滑6.8%Forward
- 這個春節假期,遊戲市場發生了什麼?遊戲
- 1月手遊覆盤:342款遊戲測試,休閒遊戲火爆春節檔|GameRes遊戲GAM
- 春節前股票大跌春節後會怎樣?2022春節股市走勢如何?
- 長春哪裡有開票-長春開票
- 長春哪裡有開票-長春開票
- 同程旅遊:2020年春節黃金週居民旅遊消費趨勢報告
- 文化和旅遊部:預計2019年春節出遊或達4.5億人次
- 中國旅遊研究院:2022年春節假日旅遊市場資料包告
- 中國旅遊研究院:2021年春節長假旅遊大資料包告大資料
- 預計2019年春節全國出遊人次將超4億
- 2020:從遊戲產業的開春回暖看未來發展遊戲產業
- steam2022春節特惠時間什麼時候 steam2022春節特惠打折遊戲購買推薦遊戲
- 長春開票
- “腦洞大師”為何會霸榜最強手遊春節檔
- 如何製作戶外春遊植樹邀請函?跟著教程操作!
- Ohayoo春節成績單:遊戲流水億,總下載超2000萬遊戲
- 盤點2021年春節檔手遊:誰最吸金,誰最吸量?
- 春節將至,遊戲玩家的福利紅包應該怎麼發?遊戲
- 開春111款遊戲版號下發,網易永劫手遊、疊紙無限暖暖、遊科黑神話...遊戲
- 中國旅遊研究院:2019年春節假期旅遊收入5139億元 同比增長8.2%
- Supercell投資再下一城!春節假期海外遊戲資訊彙總遊戲
- 全民手遊的這個春節,贏家卻屬於這匹黑馬
- 春運狂響曲
- 099、春宿左省
- 2020年遊戲春節檔表現如何?這裡有一份手遊活躍度榜單遊戲
- 2023年春節假期全國國內旅遊出遊3.08億人次 實現國內旅遊收入3758.43億元
- 1月遊戲排行榜:寒假春節檔休閒小遊戲扎堆獲量,你玩過幾個?遊戲
- 21世紀經濟研究院:2019年春節旅遊趨勢報告
- 疫情下的遊戲行業:春節「日流水20億」的背後隱憂遊戲行業