Cod sursa(job #1996677)
Utilizator | Emanuel Nrx StarGold2 | Data | 2 iulie 2017 13:32:32 |
---|---|---|---|
Problema | Colorare3 | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream in ( "colorare3.in" );
ofstream out( "colorare3.out" );
const int DIM = 1e5 + 5;
const int MOD = 1e9 + 7;
int cnt[DIM];
int main( void ) {
int n, k;
in >> n >> k;
for( int i = 1; i < n; i ++ ) {
int x, y;
in >> x >> y;
cnt[x] ++; cnt[y] ++;
}
int ans = k;
for( int i = 1; i <= n; i ++ )
for( int j = k - cnt[i] + 1; j < k; j ++ )
ans = ( 1LL * ans * j ) % MOD;
out << ans << endl;
return 0;
}