Pagini recente » Cod sursa (job #3172454) | Cod sursa (job #465299)
Cod sursa(job #465299)
#include <cassert>
#include <cstdio>
const int MOD = 1000000007;
const int MAX_N = 100005;
int n;
long long k;
int deg[MAX_N];
int main() {
assert(freopen("colorare3.in", "r", stdin) != NULL);
assert(freopen("colorare3.out", "w", stdout) != NULL);
assert(scanf("%d %lld", &n, &k) == 2);
for (int i = 1; i < n; ++i) {
int a, b;
assert(scanf("%d %d", &a, &b) == 2);
++deg[a]; ++deg[b];
}
long long sol = 1;
for (int i = 1; i <= deg[1]; ++i)
sol = sol * (k - i + 1) % MOD;
for (int i = 2; i <= n; ++i)
for (int j = 1; j < deg[i]; ++j)
sol = sol * (k - j) % MOD;
printf("%lld\n", sol);
}