Cod sursa(job #602678)

Utilizator dacyanMujdar Dacian dacyan Data 12 iulie 2011 15:33:12
Problema Colorare3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
#define DIM 101000
#define MOD 1000000007
using namespace std;

ifstream fin("colorare3.in");
ofstream fout("colorare3.out");

long long N, K;
long long grad[DIM], sol;

int main()
{
	fin >> N >> K;
	int x, y;
	for (int i = 1; i < N; ++i)
	{
		fin >> x >> y;
		grad[x]++; grad[y]++;
	}
	fin.close();
	
	sol = K;
	for (int i = 1; i <= N; ++i) // pt fiecare nod
		for (int j = 1; j < grad[i]; ++j)
		{
			sol *= (K-j) % MOD;
			sol %= MOD;
		}
	fout << sol << '\n';
	fout.close();
	return 0;
}