国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1072. Gas Station (30)

2019-11-08 02:50:19
字體:
來源:轉載
供稿:網友

開始用FLOY求最短路徑,奈何最后個測試點超時,只能再試試DIJ來求,然后過了 需要注意的地方: 首先加油站離最近房子的距離盡可能遠,如果有不同解,選路徑和最小的那個,還一樣選序號最小的一個,當然加油站里所有房子的最小路徑都不能超過給的數,代碼中貼有FLOY解法和DIJ解法,當然FLOY是超時的

#include<iostream>#include<vector>#include<string>#define INF 0x3f3f3fusing namespace std;int N, M, K, D;bool flag;int add, v;int change_index(string str){ if (str[0] == 'G') return N-1+stoi(string(str, 1)); else return stoi(str) - 1;}string change_name(int i){ if (i < N) return to_string(i+1); else return string("G") + to_string(i + 1 - N);}vector<vector<int>> arc;vector<int> Dis;vector<int> Tem;vector<bool> visited;bool DIJ(int index){ int num = 0; visited[index] = true; Dis[index] = 0; for (int t = 0;t < M + N;t++) if (arc[index][t] != INF) Tem[t] = arc[index][t]; while (num != N) { int temp_min=INF,temp_v; for (int t = 0;t < M + N;t++) if (!visited[t] && Tem[t] < temp_min) { temp_min = Tem[t];temp_v = t; } Dis[temp_v] = temp_min; visited[temp_v] = true; if (temp_v < N) { num++; add +=temp_min; if (temp_min < v) v = temp_min; if (temp_min > D) { flag = false;break; } } for (int t = 0;t < M + N;t++) if (!visited[t] && Tem[t]>temp_min + arc[temp_v][t]) Tem[t] = temp_min + arc[temp_v][t]; } return true;}int main(){ cin >> N >> M >> K >> D; if (N == 0) {
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天镇县| 历史| 简阳市| 澳门| 和田市| 安国市| 章丘市| 永丰县| 黔南| 资源县| 丹寨县| 石楼县| 舒兰市| 浙江省| 兴安盟| 大连市| 仁怀市| 临沧市| 三河市| 紫金县| 海原县| 电白县| 且末县| 长乐市| 桑植县| 普兰县| 台湾省| 慈溪市| 邢台县| 历史| 高青县| 伊宁县| 上犹县| 唐山市| 达日县| 海阳市| 罗山县| 沾化县| 孝感市| 镇赉县| 阜阳市|