国产探花免费观看_亚洲丰满少妇自慰呻吟_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; }}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荔波县| 西昌市| 石门县| 邯郸县| 星子县| 开平市| 西畴县| 法库县| 重庆市| 望谟县| 小金县| 盐山县| 怀来县| 青冈县| 辽中县| 屯留县| 讷河市| 昌平区| 三亚市| 航空| 湟源县| 黄梅县| 山阳县| 西昌市| 克拉玛依市| 汉源县| 绍兴市| 得荣县| 吕梁市| 马鞍山市| 铅山县| 吉水县| 龙海市| 阿克苏市| 墨竹工卡县| 石河子市| 土默特右旗| 惠东县| 会理县| 宁化县| 延津县|