Pagini recente » Cod sursa (job #2061227) | Cod sursa (job #2977923) | Cod sursa (job #2932722) | Cod sursa (job #2750884) | Cod sursa (job #552096)
Cod sursa(job #552096)
#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 *= (long long) 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;
}