Pagini recente » Cod sursa (job #191481) | Cod sursa (job #136641) | Cod sursa (job #212700) | Cod sursa (job #2767525) | Cod sursa (job #1476189)
#include <stdio.h>
#include <vector>
#define MAXN 100005
#define mod 1000000007
using namespace std;
int n, k, x, y, ans = 1, d[MAXN];
vector<int> G[MAXN];
void DFS(int u, int p) {
for(auto x: G[u])
if(x != p) {
ans = (1LL * ans * (k - d[u])) % mod;
++d[u], ++d[x];
DFS(x, u);
}
}
int main()
{
freopen("colorare3.in", "r", stdin);
freopen("colorare3.out", "w", stdout);
scanf("%d %d", &n, &k);
for(int i = 1; i < n; i++) {
scanf("%d %d", &x, &y);
G[x].push_back(y);
G[y].push_back(x);
}
DFS(1, 0);
printf("%d\n", ans % mod);
return 0;
}