Cod sursa(job #1474234)
Utilizator | Data | 21 august 2015 16:26:34 | |
---|---|---|---|
Problema | Colorare3 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <cstdio>
using namespace std;
const int MOD = 1000000007;
int n , k , i , j , res;
int grad[100010];
int main()
{
freopen("colorare3.in","r",stdin);
freopen("colorare3.out","w",stdout);
scanf("%d %d", &n, &k);
for (i = 1; i < n; ++i)
{
int x , y;
scanf("%d %d", &x, &y);
grad[x]++; grad[y]++;
}
res = 1;
for (i = 1; i <= n; ++i)
for (j = k - grad[i] + 1; j <= k - 1 * (i != 1); ++j)
res = (1LL * res * j) % MOD;
printf("%d\n", res);
return 0;
}