正题
题目链接:https://www.luogu.com.cn/problem/P4430
题目大意
nnn个点,每次不同联通块之间连边直到成为一颗树,求连边方式
解题思路
根据perferperferperfer序列,可以将一颗无根树变为一个长度n−2n-2n−2的序列,所以数量是nn−2n^{n-2}nn−2,然后因为边可以重排所以答案是nn−2(n−1)!n^{n-2}(n-1)!nn−2(n−1)!
codecodecode
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll XJQ=9999991;
ll n,ans=1;
int main()
{scanf("%lld",&n);for(ll i=1;i<n;i++)ans=ans*i%XJQ;for(ll i=1;i<n-1;i++)ans=ans*n%XJQ;printf("%lld",ans);
}