Pagini recente » Cod sursa (job #2789679) | Cod sursa (job #85942) | Cod sursa (job #2161830) | Cod sursa (job #2370678) | Cod sursa (job #1479786)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
#define NMAX 100001
#define MOD 1000000007
vector <int> v[NMAX];
int viz[NMAX],k,sol;
void dfs(int nod, int less)
{
int nr;
viz[nod]=1;
for(vector <int> :: iterator it=v[nod].begin();it!=v[nod].end();it++)
if(viz[*it]==0) {
sol=(1LL*sol*(k-less))%MOD;
less++;
dfs(*it,1);
}
}
int main ()
{
int n,x,y,i;
ifstream f("colorare3.in");
ofstream g("colorare3.out");
f>>n>>k;
for(i=1;i<=n-1;i++) {
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
f.close();
sol=1;
dfs(1,0);
g<<sol;
g.close();
return 0;
}