Cod sursa(job #2025827)

Utilizator andreicoman299Coman Andrei andreicoman299 Data 23 septembrie 2017 12:45:10
Problema Colorare3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <stdio.h>

#define MAXN 100000
#define MOD 1000000007

int fii[1 + MAXN];
int main(){
    FILE*fi,*fo;
    fi = fopen("colorare3.in","r");
    fo = fopen("colorare3.out","w");

    int n, k;
    fscanf(fi,"%d%d", &n, &k);
    for(int i = 1; i < n; i++){
        int a, b;
        fscanf(fi,"%d%d", &a, &b);
        fii[a]++;
        fii[b]++;
    }
    for(int i = 2; i <= n; i++)
        fii[i] --;

    long long ans = 1;
    for(int j = 1; j <= fii[1]; j++)
        ans = (ans * (k - j + 1)) % MOD;
    for(int i = 2; i <= n; i++)
        for(int j = 1; j <= fii[i]; j++)
            ans = (ans * (k - j)) % MOD;
    fprintf(fo,"%lld", ans);

    fclose(fi);
    fclose(fo);
    return 0;
}