Cod sursa(job #2628614)

Utilizator euyoTukanul euyo Data 16 iunie 2020 16:20:50
Problema Colorare3 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
#define MOD 1000000007

using namespace std;

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

int f[100000];

int main() {
  int n, k, x, y, i, sol, j;
  
  fin >> n >> k;
  for ( i = 0; i < n - 1; ++i ) {
	fin >> x >> y;
    ++f[x];
    ++f[y];
  }
  sol = k;
  for ( i = 1; i <= n; ++i ) {
	j = 0;
	while ( f[i] > 1 ) {
	  sol = ((long long)sol * (k - j - 1)) % MOD;
      --f[i];
	  ++j;
	}
  }
  fout << sol;
  fin.close();
  fout.close();
  return 0;
}