Pagini recente » Cod sursa (job #2573641) | Cod sursa (job #2795542) | Cod sursa (job #1926361) | Cod sursa (job #287448) | Cod sursa (job #780739)
Cod sursa(job #780739)
#include<fstream>
#define MOD 1000000007
using namespace std;
int n,K,grad[100100];
long long rez[100100],A[100100],sol; // A[i]=aranjamente de K-1 luate cate i
int main()
{
int i,x,y;
ifstream fin("colorare3.in");
fin>>n>>K;
for(i=1;i<n;i++)
{
fin>>x>>y;
grad[x]++;
grad[y]++;
}
fin.close();
A[0]=1;
for(i=1;i<=n;i++)
{
A[i]=A[i-1]*(long long)(K-i);
A[i]%=MOD;
}
rez[1]=1;
for(i=K-grad[1]+1;i<=K;i++)
{
rez[1]*=(long long)i;
rez[1]%=MOD;
}
sol=rez[1]; //rez[1]=aranjamente de K luate cate grad[1]
for(i=2;i<=n;i++)
{
rez[i]=A[grad[i]-1];
sol*=rez[i];
sol%=MOD;
}
ofstream fout("colorare3.out");
fout<<sol<<"\n";
fout.close();
return 0;
}