Pagini recente » Cod sursa (job #1796326) | Istoria paginii runda/cum_sa_fii_manelist | Cod sursa (job #2268924) | Cod sursa (job #2336384) | Cod sursa (job #1391502)
#include<cstdio>
#include<vector>
using namespace std;
const int md=666013;
const int pu=666011;
int di[100005],lu[100005],fc[100005];
vector<int> ve[100005];
bool be[100005];
int inv(int x)
{
if()
}
int co(int n,int k)
{
return ((fc[n]*inv(fc[n-k]))%md*inv(fc[k]))%md;
}
void dfs(int x)
{
be[x]=1;
lu[x]=1;
int i,n,l;
l=ve[x].size();
n=0;
for(i=l-1;i>=0;i--)
if(be[ve[x][i]]==0)
{
dfs(ve[x][i]);
lu[x]=(lu[x]+lu[ve[x][i]])%md;
n=n+lu[ve[x][i]];
}
di[x]=1;
for(i=l-1;i>=0;i--)
{
di[x]=di[x]*co(n,n-lu[ve[x][i]]);
n=n-lu[ve[x][i]];
}
}
int main()
{
freopen("arbore4.in","r",stdin);
freopen("arbore4.out","w",stdout);
int n,i,j,x,y;
scanf("%d",&n);
fc[0]=1;
for(i=1;i<=n;i++)
{
scanf("%d%d",&x,&y);
ve[x].push_back(y);
ve[y].push_back(x);
fc[i]=(fc[i-1]*i)%md;
}
dfs(1);
return 0;
}