Cod sursa(job #2041994)

Utilizator PinkiePie1189Preoteasa Mircea-Costin PinkiePie1189 Data 17 octombrie 2017 22:27:16
Problema Colorare3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 4.46 kb
/*UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore
UN GRAF CONEX CU N-1 linii e arbore*/
#include<stdio.h>
#include<climits>
#define MAXN 100000
#define MOD 1000000007
long long aranjamente(int N,int K);
FILE*fin,*fout;
int v[MAXN+1];
int main()
{
    fin=fopen("colorare3.in","r");
    fout=fopen("colorare3.out","w");
    int N,K;
    fscanf(fin,"%d%d",&N,&K);
    for(int i=1;i<=N-1;i++)
    {
        int x,y;
        fscanf(fin,"%d%d",&x,&y);
        v[x]++;
        v[y]++;
    }
    long long ans=aranjamente(K,v[1]);
    ans%=MOD;
    for(int i=2;i<=N;i++)
    {
        ans*=aranjamente(K-1,v[i]-1);
        ans%=MOD;
    }
    fprintf(fout,"%lld",ans);
    fclose(fin);
    fclose(fout);
    return 0;
}
long long aranjamente(int N,int K)
{
    long long ans=1;
    if(N<K)
    {
        return 0;
    }
    for(int i=N;i>=N-K+1;i--)
    {
        ans=ans*(1LL*i)%MOD;
    }
    return ans;
}