Cod sursa(job #466471)
Utilizator | Data | 26 iunie 2010 18:26:16 | |
---|---|---|---|
Problema | Colorare3 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.48 kb |
#include<cstdio>
const int N=100005;
const int MOD=1000000007;
int n,k,prod,v[N];
int main()
{
freopen("colorare3.in","r",stdin);
freopen("colorare3.out","w",stdout);
scanf("%d%d",&n,&k);
int x,y;
for(int i=1;i<n;++i)
{
scanf("%d%d",&x,&y);
v[x]++;
v[y]++;
}
prod=k;
for(int i=1;i<=n;++i)
for(int j=1;j<v[i];++j)
prod=((long long)prod*(k-j))%MOD;
printf("%d",prod);
return 0;
}