Pagini recente » Cod sursa (job #2526597) | Cod sursa (job #2127080) | Cod sursa (job #2739673) | Cod sursa (job #2917282) | Cod sursa (job #466219)
Cod sursa(job #466219)
#include<stdio.h>
int v[100001], fol[100001], e[100001], n, k, p, max;
struct vector{
int a; int b;
};
void perm(int poz){
int i;
if(poz==n){
for(i=1; i<n; i++){
//printf("%d ", v[i]);
}
//printf("\n");
p++;
}
else{
for(i=1; i<=k; i++){
if(fol[i]==0){
v[poz]=i;
fol[i]=1;
perm(poz+1);
fol[i]=0;
}
}
}
}
int main(){
freopen ("colorare3.in", "r", stdin);
freopen ("colorare3.out", "w", stdout);
int j, m;
vector u[100001];
scanf("%d %d ", &n, &k);
for(j=1; j<n; j++){
scanf("%d %d ", &u[j].a, &u[j].b);
e[u[j].a]++; e[u[j].b]++;
}
for(j=1; j<n; j++){
if(e[j]>=max){
max=e[j];
}
}
if(max==n-1){
perm(1);
}
else{
m=n;
n=max+1;
perm(1);
for(j=1; j<=n; j++){
if(e[j]!=max && e[j]>1){
p*=e[j];
}
}
}
printf("%d ", p);
return 0;
}