Cod sursa(job #1206643)

Utilizator iordaiche_cristinaIordaiche Cristina iordaiche_cristina Data 10 iulie 2014 19:16:26
Problema Colorare3 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
#include<list>
using namespace std;
ifstream fin("colorare3.in");
    ofstream fout("colorare3.out");
const int MOD = 190031;

int N, K;
long long result = 1;
int grad[1002];

long long Fact(int i1, int i2)
{
    long long now = 1;
    for (int i = i1; i <= i2; ++i)
        now *= (long long) i, now %= MOD;
    return now;
}

int main()
{


    fin >> N >> K;
    for (int i = 1, ax1, ax2; i < N; ++i)
    {
        fin >> ax1 >> ax2;
        ++grad[ax1], ++grad[ax2];
    }

    for (int i = 1; i <= N; ++i)
    {
        result *= Fact(K - grad[i] + 1, K - 1); // A(K - 1, grad[i] - 1)
        result %= MOD;
    }

    result *= K;
    result %= MOD;

    fout << result<<'\n';
}