Cod sursa(job #466453)

Utilizator sodamngoodSo Damn Good sodamngood Data 26 iunie 2010 17:37:07
Problema Colorare3 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
using namespace std;
#define nmax 100010
#define mod 1000000007
#define LL long long

int N, K, deg[nmax];
long long sol;

int main() {
    FILE *f1=fopen("colorare3.in", "r"), *f2=fopen("colorare3.out", "w");
    int i, j, p, q;
    
    fscanf(f1, "%d %d\n", &N, &K);
    
    for(i=1; i<N; i++) {
         fscanf(f1, "%d %d\n", &p, &q);
         deg[p]++; deg[q]++;
    }
    
    sol = K;
    for(i=1; i<=N; i++) {
         for(j=1; j<deg[i]; j++) {
              sol = ((LL)sol * (K-j)) % mod;
         }
    }

    fprintf(f2, "%lld\n", sol);
    fclose(f1); fclose(f2);
    return 0;
}