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

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

1021. Deepest Root (25)

2019-11-11 05:57:03
字體:
來源:轉載
供稿:網友

開始用各個葉節點dfs遍歷,找最大deep,運行超時,然后評論里發現個方法,挺贊 https://www.nowcoder.com/questionTerminal/f793ad2e0c7344efa8b6c18d10d4b67b

#include<iostream>#include<algorithm>#include<vector>#define MAX_V 10002using namespace std;vector<int> arc[MAX_V];//相等于鄰接矩陣vector<int> P;//輸出的數組int dis[MAX_V];//相對于root距離int N,dis_max=0;//相對于root最大距離bool visited[MAX_V] = {0};void dfs(int index){ if (dis_max < dis[index]) dis_max = dis[index]; for (auto x : arc[index]) { if (visited[x] == NULL) { dis[x] = dis[index] + 1; visited[x] = true; dfs(x); } }}int main(){ cin >> N; for (int t = 1;t < N;t++) { int i, j; cin >> i >> j; arc[i].push_back(j); arc[j].push_back(i); } int count=0; for (int t = 1;t <= N;t++) { if (visited[t] == false) { dis[t] = 0; visited[t] = true; dfs(t); count++; } } if (count != 1) cout << "Error: " << count << " components" << endl; else { for (int t = 1;t <= N;t++) { if (dis[t] == dis_max) P.push_back(t); visited[t] = false; } visited[P.back()] = true; dfs(P.back()); for (int t = 1;t <= N;t++) { if (find(P.begin(), P.end(), t) == P.end()) if (dis[t] == dis_max) P.push_back(t); } sort(P.begin(), P.end()); for (auto x : P) cout << x << endl; }}
上一篇:C預處理

下一篇:控制反轉和依賴注入

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 博爱县| 南宫市| 抚顺市| 浠水县| 任丘市| 澎湖县| 德令哈市| 油尖旺区| 江山市| 尚义县| 阿巴嘎旗| 黄浦区| 沁阳市| 安仁县| 韶关市| 平潭县| 富裕县| 鹿邑县| 枣阳市| 连云港市| 忻州市| 察隅县| 岳普湖县| 郸城县| 海丰县| 嘉黎县| 皋兰县| 阳城县| 南安市| 达拉特旗| 孝义市| 石景山区| 桓台县| 南和县| 云和县| 都江堰市| 宝坻区| 佛教| 黄山市| 枣阳市| 云龙县|