Cod sursa(job #466474)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 26 iunie 2010 18:56:22
Problema Colorare3 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>
using namespace std;

#define MOD 1000000007

int ap[100081];
long int x, y;
long int n;
long int i, j;
long long k;
long long posibilitati = 1;

int main ()
{
    FILE *f = fopen ("colorare3.in","r");
    FILE *g = fopen ("colorare3.out","w");
    fscanf (f,"%ld %lld", &n, &k);

    for (i=1; i<n; ++i)
    {
        fscanf (f,"%ld %ld", &x, &y);
        ap[x] ++;
        ap[y] ++;
    }
    posibilitati = k;

    for (i=1; i<=n; ++i)
        for (j=1; j<ap[i]; ++j)
            posibilitati *= (long long) (k - j) % MOD;


    fprintf (g,"%lld", posibilitati % MOD);

    fclose(g);
    fclose(f);
    return 0;
}