注意循环顺序
#include#include #include using namespace std;int n,m,head[1005],fa[1005],dp[1005][1005],cnt;struct edge{ int v,next;}e[1005];inline void add(int u,int v){ e[++cnt].v=v; e[cnt].next=head[u]; head[u]=cnt;}inline void dfs(int u){ for(int i=head[u];i!=-1;i=e[i].next){ int v=e[i].v; dfs(v); for(int j=m;j>=1;j--){ for(int k=1;k