题目传送门:
假设把树划分为x个节点作一块,那么显然只有当x|n的时候才可能存在划分方案,并且这种划分方案是唯一的。
并且对于一棵树,只有当有n/x个节点的子树大小%x==0的时候才可能存在划分方案,因为如果把一棵树的根节点及其所在的块切掉,那么剩下的子树若存在划分方案,一定满足这些子树的节点个数%x==0。
所以这道题就变成一道水题了。
代码(我本来想着用bfs代替dfs会跑得快一点,然而似乎并没有什么卵用):
#include#include #include #include #include #include #include #include #include