Pagini recente » Cod sursa (job #1494002) | Cod sursa (job #237179) | Cod sursa (job #81405) | Cod sursa (job #599050) | Cod sursa (job #466255)
Cod sursa(job #466255)
#include<stdio.h>
#define MODULLO 1000000007
char a[100001][100001];
long n,k;
long af;
long q[100001];
char viz[100001];
int main()
{
long i,x,y,p,u,vu,nviz;
freopen("colorare3.in","r",stdin);
freopen("colorare3.out","w",stdout);
scanf("%ld%ld",&n,&k);
af=1;
for (i=1;i<n;i++)
{
scanf("%ld%ld",&x,&y);
a[x][y]=1;
a[y][x]=1;
}
p=1;
viz[1]=1;
u=1;
q[p]=1;
while (p<=u)
{
x=q[p];
nviz=0;
vu=u;
for (i=1;i<=n;i++)
{
if (viz[i]==1 && a[x][i]==1)
nviz++;
else
if (a[x][i]==1 && viz[i]==0)
{
q[++u]=i;
viz[i]=1;
}
}
for (i=1;i<=u-vu;i++)
{
af=(af* (k-nviz-i+1)%MODULLO) % MODULLO;
}
p++;
}
printf("%ld\n",af);
return 0;
}