Cod sursa(job #548941)
Utilizator | liana tucar liana | Data | 7 martie 2011 22:50:27 |
---|---|---|---|
Problema | Colorare3 | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
#define nmax 100005
#define modulo 1000000007
long long i, a, b, n, k, vt[nmax], st[nmax];
long long sol, j;
int main()
{
freopen("colorare3.in","r",stdin);
freopen("colorare3.out","w",stdout);
scanf("%lld %lld",&n, &k);
for (i=1;i<n;i++)
{
scanf("%lld %lld",&a, &b);
if (a>b)
st[a]++;
else
st[b]++;
vt[a]++; vt[b]++;
}
sol=1;
for (i=1;i<=n;i++)
if (k<vt[i])
{ sol=0; break; }
else
for (j=k-vt[i]+1;j<=k-st[i];j++)
sol=(sol*j)%modulo;
printf("%lld",sol);
}