题目链接
解题方法:对树进行DFS搜索
题目分析
题目大意
公司里有n
个人,只有一个是老板,老板没有上级,别人都有直接或者间接的上级,一个人可以管理他的手下,也可以管理他手下的手下,问,有多少个人恰好管理k
个人
解析
先记录好每一个人管理了哪些人,用vis[]
标记这些被管理的人,从1~n
搜索一遍,找到未被标记的那个人,就是老板了,然后从老板开始往下搜索,对于每一个下属再进行dfs()
,如果这个人没有下属了就返回0
,如果再往上返回的话就返回1+dfs(now)
。很遗憾的被k=0
这个情况坑了一个多小时。
代码
1 |
|