Cod sursa(job #478400)

Utilizator CezarMocanCezar Mocan CezarMocan Data 18 august 2010 12:52:24
Problema Colorare3 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <cstdio>

const int maxN = 100100;
const int mod = 1000000007;

using namespace std;

int N, K;
long long sol;
int S[maxN];

int main() {
	int i, a, b;
	freopen("colorare3.in", "r", stdin);
	freopen("colorare3.out", "w", stdout);

	scanf("%d%d", &N, &K);
	sol = 1;
	
	for (i = 1; i < N; i++) {
		scanf("%d%d", &a, &b);
		sol = (sol * 1LL * (K - S[a] - S[b])) % mod;

		if (K - S[a] - S[b] <= 0) {
			printf("0\n");
			return 0;
		}

		S[a]++; S[b]++;
	}

	printf("%lld\n", sol);



	return 0;
}