国产探花免费观看_亚洲丰满少妇自慰呻吟_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) {
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南京市| 安徽省| 靖江市| 阿拉善右旗| 惠水县| 漳平市| 周宁县| 南皮县| 屯昌县| 潜山县| 曲水县| 东平县| 青海省| 郧西县| 巴塘县| 密云县| 邢台市| 苏尼特左旗| 曲松县| 瓦房店市| 项城市| 安丘市| 临汾市| 旬邑县| 静乐县| 武隆县| 霸州市| 鹿邑县| 新化县| 威宁| 凉城县| 河曲县| 尚义县| 工布江达县| 法库县| 马边| 昌乐县| 密山市| 剑河县| 临沂市| 延安市|