。
分析:
《训练指南》上的代码,写的不是一般的漂亮。贴之以珍藏。
#include#include #include #include #include #include using namespace std;const int maxn = 1000 + 10;vector g[maxn], nodes[maxn];int fa[maxn], k, n;bool covered[maxn];void dfs(int u, int f, int d){ fa[u] = f; int nc = g[u].size(); if(nc == 1 && d > k) nodes[d].push_back(u); for(int i=0; i k; d--){ for(int i=0; i