LG 3621 [APIO2007]风铃

zcmimi at 
查看原题'" class='mdui-btn mdui-btn-raised'>点击加载点击跳转把风铃看成一棵树因为交换一根杆的两端不会影响它下面的子树的情况,所以可以采用分治+分类讨论我们先预处理出最小深度和最大深度如果差大于 1,那么不满足要求一个端点可以分成三种情况都是最小深度都是最大深度两种都有如果一根杆左右端点分别为$0,1$或$0,2$或$2,1$那么它就需要交换左右端点如果左右端点都是$2$那么交换也没用,直接输出$-1$,结束程序然后把状态向上传递就可以了……