关注
int distant[maxn];//记录到1的距离,-1表示还没遍历到
vector<int> g[maxn];
void dfs(int st, int dis, int *total){
int i;
for(i = 0; i < g[st].size(); ++i){
int child = g[st][i];
if(distant[child] == -1){
distant[child] = dis+1;
*total += 2;
dfs(child, dis+1, *total);
}
}
}
int main(){
/*
io
*/
memset(distant, -1, sizeof(distant));
int total = 0; //总共的路径,表示从1开始转一圈回来的长度
distant[1] = 0;
dfs(1,0,&total);
int i, maxd = -1;
for(i = 1; i <= n; ++i)
if(maxd < distant[i]) maxd = distant[i];
printf("%d\n", total - maxd);
} 我的伪代码大概就是这样,思路还是很简单的
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
16052次浏览 120人参与
# 求职中的尴尬瞬间 #
6760次浏览 54人参与
# 快手技术岗信息交流阵地 #
7256次浏览 54人参与
# 大学最后一个寒假,我想…… #
55295次浏览 604人参与
# 牛客周边新品开箱 #
11699次浏览 91人参与
# 牛友的志愿填报指南 #
36440次浏览 188人参与
# 研究所笔面经互助 #
97751次浏览 550人参与
# 如何KTV领导 #
74091次浏览 505人参与
# 应届生被毁约被毁意向了怎么办 #
47764次浏览 280人参与
# 你最满意的offer薪资是哪家公司? #
42390次浏览 212人参与
# 硬件人的春招flag #
52947次浏览 435人参与
# 机械人避雷的岗位/公司 #
30091次浏览 249人参与
# 怎么给家人解释你的工作? #
15208次浏览 87人参与
# 得物app工作体验 #
29975次浏览 69人参与
# 国企还是互联网,你怎么选? #
172537次浏览 1305人参与
# 打工人锐评公司红黑榜 #
175999次浏览 1023人参与
# 你的mentor是什么样的人? #
18917次浏览 120人参与
# 大疆工作体验 #
19996次浏览 85人参与
# 帮我看看,领导说这话什么意思? #
25095次浏览 108人参与
# 机械人集合!你是什么工程师? #
21156次浏览 91人参与
# 校招泡的最久的公司是哪家? #
15767次浏览 95人参与
查看16道真题和解析
CVTE公司福利 672人发布