Cod sursa(job #2628614)
Utilizator | Tukanul 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;
}