Pagini recente » Cod sursa (job #976311) | Cod sursa (job #3147910) | Cod sursa (job #2551095) | Cod sursa (job #2122222) | Cod sursa (job #479402)
Cod sursa(job #479402)
#include <fstream>
using namespace std;
const int MOD=1000000007;
const int NMAX=100001;
typedef long long i64;
int N,K,deg[NMAX];
i64 aranj[2][NMAX];
int main()
{
int i,j,k;
ifstream fin("colorare3.in");
fin>>N>>K;
for (k=1;k<=N-1;++k)
{
fin>>i>>j;
++deg[i];++deg[j];
}
for (k=0;k<2;++k)
{
int n=K-k;
aranj[k][0]=1;
for (i=1;i<=N-1 && i<=n;++i)
aranj[k][i]=(aranj[k][i-1]*(n-i+1))%MOD;
}
ofstream fout("colorare3.out");
i64 sol=1;
for (i=2;i<=N;++i) sol=(sol*aranj[1][deg[i]-1])%MOD;
sol=(sol*aranj[0][deg[1]])%MOD;
fout<<sol<<"\n";
return 0;
}