Pagini recente » Cod sursa (job #483607) | Cod sursa (job #266546) | Cod sursa (job #500764) | Cod sursa (job #3038897) | Cod sursa (job #1206643)
#include<fstream>
#include<list>
using namespace std;
ifstream fin("colorare3.in");
ofstream fout("colorare3.out");
const int MOD = 190031;
int N, K;
long long result = 1;
int grad[1002];
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()
{
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] - 1)
result %= MOD;
}
result *= K;
result %= MOD;
fout << result<<'\n';
}