Pagini recente » Cod sursa (job #466228) | Cod sursa (job #3160578) | Cod sursa (job #337878) | Cod sursa (job #2652772) | Cod sursa (job #466237)
Cod sursa(job #466237)
#include <stdio.h>
#include <vector>
using namespace std;
#define MOD 1000000007
int apar[100001];
long int x, y;
long int n;
long int i, j;
long long k;
long long posibilitati = 1;
long long factorial (long int x)
{
long long fact = 1;
for (j=1; j<=x; ++j)
{
fact *= j;
}
return fact;
}
int main ()
{
FILE *f = fopen ("colorare3.in","r");
FILE *g = fopen ("colorare3.out","w");
fscanf (f,"%ld %lld", &n, &k);
for (i=1; i<n; ++i)
{
fscanf (f,"%ld %ld", &x, &y);
apar[x] ++;
apar[y] ++;
}
vector <int> ap (apar, apar + n);
vector <int> :: iterator it;
it = ap.begin() + 1;
for (it=ap.begin() + 1; it<ap.end(); ++it)
{
//printf ("din %d pleaca %d drumuri\n", i, ap[i]);
posibilitati *= factorial(*it);
posibilitati %= MOD;
}
fprintf (g,"%lld", posibilitati % MOD);
fclose(g);
fclose(f);
return 0;
}