Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>#include<cstring>using namespace std;int dp[105][300][2];int val[105];struct node{int to,next,dis;}e[555];int n;int head[105],en,maxs;void add(int a,int b,int c){e[en].to=b;e[en].dis=c;e[en].next=head[a];head[a]=en++;}int tmp[105];void dfs(int now,int fa=-1){for(int i=0;i<=val[now];i++)dp[now][i][0]=dp[now][i][1]=0;for(int i=head[now];~i;i=e[i].next){int to=e[i].to;int dis=e[i].dis;if(to!=fa){dfs(to,now);