Pagini recente » Cod sursa (job #1109241) | Cod sursa (job #746006) | Cod sursa (job #231706) | Cod sursa (job #1472633) | Cod sursa (job #552095)
Cod sursa(job #552095)
#include<fstream>
#include<list>
using namespace std;
const int MOD = 1000000007;
int N, K;
long long result = 1;
int grad[100002];
long long Fact(int i1, int i2)
{
long long now = 1;
for (int i = i1; i <= i2; ++i)
now *= i, now %= MOD;
return now;
}
int main()
{
ifstream fin("colorare3.in");
ofstream fout("colorare3.out");
fin >> N >> K;
for (int i = 1, ax1, ax2; i < N; ++i)
{
fin >> ax1 >> ax2;
++grad[ax1], ++grad[ax2];
}
for (int i = 1; i <= N; ++i)
{
result *= Fact(K - grad[i] + 1, K - 1); // A(K - 1, grad[i])
result %= MOD;
}
result *= K;
fout << result;
}