Cod sursa(job #467519)

Utilizator DraStiKDragos Oprica DraStiK Data 29 iunie 2010 11:07:06
Problema Colorare3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <algorithm>
using namespace std;

#define MOD 1000000007
#define DIM 100005

int grd[DIM];
int n,k,rez;

void read ()
{
    int i,x,y;

    scanf ("%d%d",&n,&k);
    for (i=1; i<n; ++i)
    {
        scanf ("%d%d",&x,&y);
        ++grd[x];
        ++grd[y];
    }
}

void solve ()
{
    int i,j;

    rez=1;
    for (i=1; i<=grd[1]; ++i)
        rez=(1LL*rez*(k-i+1))%MOD;
    for (i=2; i<=n; ++i)
        for (j=1; j<grd[i]; ++j)
            rez=(1LL*rez*(k-j))%MOD;
    printf ("%d",rez);
}

int main ()
{
    freopen ("colorare3.in","r",stdin);
    freopen ("colorare3.out","w",stdout);

    read ();
    solve ();

    return 0;
}