Pagini recente » Cod sursa (job #64473) | Cod sursa (job #3038252) | Cod sursa (job #3001338) | Cod sursa (job #466153)
Cod sursa(job #466153)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE*f=fopen("colorare3.in","r");
FILE*g=fopen("colorare3.out","w");
int n,k,x,y,v[100005],i,nr;
int cmp(int a,int b){
return a>b;
}
long long combinari(int n,int k){
int i = 0;
long long p = 1;
for ( i = n-k+1; i <= n; ++i )
p = (p * i)%1000000007;
return p;
}
int main () {
fscanf(f,"%d %d",&n,&k);
for ( i = 1 ; i < n ; ++i ){
fscanf(f,"%d %d",&x,&y);
++v[x]; ++v[y];
}
sort(v+1,v+n+1,cmp);
nr = 1;
for ( i = 0; i < n ; ++i ){
if( v[i+1] > i ){
nr = (nr * combinari(k-i,v[i+1]-i))%1000000007;
}
else
break;
}
//nr = combinari(3,2);
fprintf(g,"%d",nr);
fclose(f);
fclose(g);
return 0;
}