-
大小: 3KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2024-02-02
- 語言: C/C++
- 標簽:
資源簡介
離散數(shù)學大作業(yè)-北京地鐵站最短路徑規(guī)劃
以1號線、2號線和13號線為例,求任意兩站之間的最短路線,并顯示所需時間,路過的站點數(shù),票價。

代碼片段和文件信息
#include?“iostream“
#include?“string“
using?namespace?std;
#define?MaxInt?100000
int?i;
int?stanum;//所經站點數(shù)
static?bool?IsT(string?*name?string?nam?int?n)
{
int?i?=?0;
while?(i? if?(name[i]?==?nam)?{
return?true;
}
i++;
}
return?false;
}????????????????????????????????????????//檢查是不是節(jié)點
int?Check(string?*name?string?nam?int?n)
{
int?i?=?0;
while?(i? i++;
}
return?i;
}
void?print(int?*pa?string?*nam?int?v?int?i)//V表示是目地結點
{
if?(pa[i]?>=?0)?{
print(pa?nam?v?pa[i]);
cout?< cout?< stanum?=?stanum?+?1;
}
}
float?Dijkstra(double?*Map?int?*path?int?n?int?v?int?d)
{
float?min?ks;
int?u?t;
float?*dist?=?new?float[n];
int?*s?=?new?int[n];
for?(int?i?=?0;?i? {
dist[i]?=?Map[n?*?v?+?i];
s[i]?=?0;
if?(i?!=?v?&&?dist[i]? path[i]?=?v;
}
else
path[i]?=?-1;
}
s[v]?=?1;
for?(i?=?0;?i? {
min?=?MaxInt;
u?=?v;
for?(int?j?=?0;?j? {
if?(!s[j]?&&?dist[j]? u?=?j;
min?=?dist[j];
}
}
s[u]?=?1;
for?(t?=?0;?t? {
if?(!s[t]?&&?dist[u]?+?Map[n?*?u?+?t]? dist[t]?=?dist[u]?+?Map[n?*?u?+?t];
path[t]?=?u;
}
}
}
ks?=?dist[d];//現(xiàn)在只返回人要的那個目的值
return?ks;
delete?dist;
}?????????????????????????????//Dijkstra算法內容
int?main()
{
int?n?=?53;
double?Map[53?*?53];
double?*Ma?=?Map;//一維數(shù)組表示二維數(shù)組的內容
for?(int?i?=?0;?i? Map[i]?=?MaxInt;
string?name[53];
string?*nam?=?name;
int?path[53];
int?*pa?=?path;
name[0]?=?“蘋果園“;
name[1]?=?“古城“;
name[2]?=?“八角游樂園“;
name[3]?=?“八寶山“;
name[4]?=?“玉泉路“;
name[5]?=?“五棵松“;
name[6]?=?“萬壽路“;
name[7]?=?“公主墳“;
name[8]?=?“軍事博物館“;
name[9]?=?“木樨地“;
name[10]?=?“南禮士路“;
name[11]?=?“復興門“;
name[12]?=?“西單“;
name[13]?=?“天安門西“;
name[14]?=?“天安門東“;
name[15]?=?“王府井“;
name[16]?=?“東單“;
name[17]?=?“建國門“;
name[18]?=?“永安里“;
name[19]?=?“國貿“;
name[20]?=?“大望路“;
name[21]?=?“四惠“;
name[22]?=?“四惠東“;
name[23]?=?“阜成門“;
name[24]?=?“車公莊“;
name[25]?=?“西直門“;
name[26]?=?“積水潭“;
name[27]?=?“鼓樓大街“;
name[28]?=?“安定門“;
name[29]?=?“雍和宮“;
name[30]?=?“東直門“;
name[31]?=?“東四十條“;
name[32]?=?“朝陽門“;
name[33]?=?“北京站“;
name[34]?=?“崇文門“;
name[35]?=?“前門“;
name[36]?=?“和平門“;
name[37]?=?“宣武門“;
name[38]?=?“長椿街“;
name[39]?=?“大鐘寺“;
name[40]?=?“知春路“;
name[41]?=?“五道口“;
name[42]?=?“上地“;
name[43]?=?“西二旗“;
name[44]?=?“龍澤“;
name[45]?=?“回龍觀“;
name[46]?=?“霍營“;
name[47]?=?“立水橋“;
name[48]?=?“北苑“;
name[49]?=?“望京東“;
name[50]?=?“芍藥居“;
name[51]?=?“光熙門“;
name[52]?=?“柳芳“;
for?(i?=?0;?i? Map[n?*?i?+?i]?=?0;
Map[n?*?0?+?1]?=?1.4;
Map[n?*?1?+?0]?=?1.4;
Map[n?*?1?+?2]?=?1.4;
Map[n?*?2?+?1]?=?1.4;
Map[n?*?2?+?3]?=?1.4;
Map[n?*?3?+?2]?=?1.4;
Map[n?*?3?+?4]?=?1.4;
Map[n?*?4?+?3]?=?1.4;
Map[n?*?4?+?5]?=?1.4;
Map[n?*?5?+?4]?=?1.4;
Map[n?*?5?+?6]?=?1.4;
Map[n?*?6?+?5]?=?1.4;
Map[n?*?6?+?7]?=?1.4;
Map[n?*?7?+?6]?=?1.4;
Map[n?*?7?+?8]?=?1.4;
Map[n?*?8?+?7]?=?1.4;
Map[n?*?8?+?9]?=?1.4;
Map[n
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1063??2018-01-10?15:02??離散大作業(yè)-地鐵計費系統(tǒng)\LICENSE
?????文件???????6800??2018-01-10?15:02??離散大作業(yè)-地鐵計費系統(tǒng)\main.cpp
?????文件????????309??2018-01-10?15:02??離散大作業(yè)-地鐵計費系統(tǒng)\README.md
?????目錄??????????0??2018-01-10?15:02??離散大作業(yè)-地鐵計費系統(tǒng)
-----------?---------??----------?-----??----
?????????????????8172????????????????????4
- 上一篇:算法競賽入門經典第2版-劉汝佳清晰非掃描版
- 下一篇:一個C語言編譯器源碼
評論
共有 條評論