E 免費的飛機

2022-08-15 05:09:11 字數 2579 閱讀 3996

題目意思:有n個飛機場,給你起點s,終點e,有m種帶權的無向邊飛機線路。有k個線路,可以從中選乙個免費飛行。問是否使用免費飛機票,並輸出最短路花費。

思路:1.先建普通飛機線路,算出最短路。再每一條免費線路重新算一次最短路,再判斷是否比之前小。

spfa寫法:

#include#include

#include

#include

#include

#define inf 0x3f3f3f3f

using

namespace

std;

typedef

long

long

ll;struct

nodee[

2050

];int head[1050],vis[1050],d[1050

];int

st,ed,n,m,k,cnt;

intfrom[1050],to[1050],val[1050

];void add(int u,int v,int

w)void spfa()//

spfa算最短路 }}

}}int

main()

spfa();

int ans=d[ed];//

記錄沒有用免費機票的最短路

int anss=inf;

cin>>k;

for(int i=0;i)

}if(ans==anss)

cout

<

else

cout

<

yes"

return0;

}

view code

dijkstra寫法:

#include#include

#include

#include

#define inf 0x3f3f3f3f#include

using

namespace

std;

typedef

long

long

ll;struct

nodee[

2050

];struct

nd};

int head[1050],vis[1050],d[1050

];int

st,ed,n,m,k,cnt;

intfrom[1050],to[1050],val[1050

];void add(int u,int v,int

w)void dij()//

優先佇列優化

);

while(!q.empty()));}

}}

}int

main()

dij();

int ans=d[ed];

int anss=inf;

cin>>k;

for(int i=0;i)

}if(ans==anss)

cout

<

else

cout

<

yes"

return0;

}

view code

2.開始就算出起點到所有點的最短距離和終點到所有點的最短路,在每次免費線路直接判斷是否小就可以。因為是無向邊,可以直接算終點到所有點的距離,如果是有向邊,只要反向建邊再算即可。這個思路只算了兩次最短路,明顯是上面快很多的。

#include#include

#include

#include

#define inf 0x3f3f3f3f#include

using

namespace

std;

typedef

long

long

ll;struct

nodee[

2050

];struct

nd};

int head[1050],vis[1050],d[1050][1050

];int

st,ed,n,m,k,cnt;

void add(int u,int v,int

w)void dij(int

start)

);

while(!q.empty()));}

}}

}int

main()

memset(d,

0x3f,sizeof

(d));

dij(st);

//算出起點到所有點的最短路。

int ans=d[st][ed];

dij(ed);

//算出終點到所有點的最短路

int anss=inf;

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

//cout>k;

for(int i=0;i)

}if(!flag)

cout

<

else

cout

<

yes"

return0;

}

view code

E 免費餡餅 HDU 1176

e 免費餡餅 hdu 1176 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。說來gameboy的人品實在是太好了,這餡餅別處都不掉,就掉落在他身旁的10公尺範圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的揹包去接。但由於小徑兩側...

高效e人免費版2 97

高效e人是專為高效能人士準備的一款個人資訊管理軟體!她能分門別類管理您的聯絡人 通訊錄及客戶資訊,增強人脈關係 能制訂日程安排和任務計畫,跟蹤節假日 生日及紀念日,並能按您的要求及時提醒,讓工作和生活井井有條 能書寫豐富多彩的電子日記,記錄點滴心情 通過高效e人內建強大的文件編輯器,能書寫和記錄內含...

《人品免費》第三章 絕佳的比喻 飛機!

我必須在這裡謝謝克勞士比先生,他用極其通俗易懂的語言向我們展示了許多關於質量的道理 說實話,大多數質量方面的書籍讓我很頭痛,它們總是故弄玄虛地弄出一大堆深奧難懂的資料 圖表和詞彙,藉以虛張聲勢,掩蓋它們的無知和膽怯。而這世界上偏偏有另外一種人,他們另闢蹊徑,用最最淺顯生動的語言,向我們揭示著事物最原...