Binarno Stablo i Putevi 2
Dano je binarno stablo od \(n\) vrhova ukorijenjeno u vrhu \(1\) te je dan broj \(k\). Vaš zadatak je izračunati broj puteva duljine manjih ili jednakih \(k\) koji prolaze kroz vrh \(1\). Duljina puta između vrhova \(u\) i \(v\) je broj bridova na tom putu. Puteve od \(u\) do \(v\) i od \(v\) do \(u\) brojimo kao jedan put. Budući da broj puteva može biti jako velik, molimo vas da ispišete traženi broj modulo \(10^9 + 7\).
Ulaz
U prvom retku su dana dva broja \(n\) i \(k\), \((1 \leq k \leq n \leq 10^5)\). U sljedećih \(n-1\) redaka se nalaze parovi \(u_i\) i \(v_i\), \((1 \leq u_i, v_i \leq n)\), što znači da postoji brid između \(u_i\) i \(v_i\) u binarnom stablu. Uvijek će vam biti dano valjano binarno stablo.
Izlaz
U jedini redak ispišite jedan broj, broj puteva duljine manji ili jednakih \(k\) koji u sebi imaju vrh \(1\). Taj broj puteva ispišite modulo \(10^9 + 7\). U \(20%\) primjera će vrijediti \(1 \leq n \leq 300\), U \(50%\) primjera će vrijediti \(1 \leq n \leq 1000\).
Primjer ulaza
4 2
1 2
1 3
3 4
Primjer izlaza
5
Pojašnjenje
Stablo je oblika
1
/ \
2 3
/
4
i putevi duljine barem 2 su
1
1-3
1-3-4
2-1
2-1-3
Primjer ulaza
7 4
1 2
2 3
2 5
1 4
4 6
4 7
Primjer izlaza
16
Pojašnjenje
Stablo je oblika
1
/ \
2 4
/ \ / \
3 5 6 7
Primjer ulaza
7 3
1 2
2 3
2 5
5 6
5 7
3 4
Primjer izlaza
7
Pojašnjenje
Stablo je oblika
1
/
2
/ \
3 5
/ / \
4 6 7
Comments