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

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

1021. Deepest Root (25)

2019-11-11 04:00:26
字體:
來源:轉載
供稿:網友

開始用各個葉節點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; }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍林郭勒市| 南靖县| 商都县| 大英县| 郸城县| 元朗区| 堆龙德庆县| 石柱| 枣强县| 达孜县| 滦平县| 舟山市| 紫金县| 邻水| 宣恩县| 岑溪市| 北海市| 泰安市| 长丰县| 泽州县| 邓州市| 清水河县| 博罗县| 玉田县| 龙井市| 刚察县| 高安市| 策勒县| 霍林郭勒市| 星子县| 龙川县| 华容县| 垦利县| 望都县| 彭州市| 迁西县| 司法| 南皮县| 凌源市| 烟台市| 德昌县|