Cod sursa(job #468450)
| Utilizator | Data | 3 iulie 2010 18:22:08 | |
|---|---|---|---|
| Problema | Colorare3 | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <stdio.h>
FILE *f,*s;
int n,k,x,y,i,j,v[100005];
int main()
{
f=fopen("colorare3.in","r");
s=fopen("colorare3.out","w");
fscanf(f,"%d %d",&n,&k);
for(i=1;i<n;i++)
{
fscanf(f,"%d %d",&x,&y);
v[x]++;
v[y]++;
}
long long int res=1000000007;
long long int rez=k;
for(i=1;i<=n;i++)
{
for(j=1;j<v[i];j++)
rez=(rez*(k-j))%res;
}
fprintf(s,"%d",rez%res);
fclose(s);
return 0;
}
