Pagini recente » Cod sursa (job #1483400) | Cod sursa (job #2254828) | Cod sursa (job #1386735) | Cod sursa (job #29675) | Cod sursa (job #509625)
Cod sursa(job #509625)
# include <fstream>
# include <iostream>
# include <vector>
# include <algorithm>
# define DIM 100003
# define P 1000000007
using namespace std;
int n, K, t[DIM], f[DIM], sol=1;
vector<int>G[DIM];
void read ()
{
ifstream fin ("colorare3.in");
fin>>n>>K;
int x, y;
for(int i=1;i<n;++i)
{
fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void DF (int k)
{
for(vector<int>::iterator I=G[k].begin();I<G[k].end();++I)
if (!t[*I])
{
f[*I]=K-t[k];
if (k!=1)--f[*I];
++t[k];
DF(*I);
}
}
void solve ()
{
DF(1);
for(int i=2;i<=n;++i)
sol=(sol*f[i])%P;
ofstream fout ("colorare3.out");
fout<<sol;
}
int main ()
{
read ();
solve();
return 0;
}