博客园 首页 私信博主 显示目录 隐藏目录 管理 动画

BZOJ.1430.小猴打架(Prufer)

题目链接

猴子之间的打架是棵无根树,有\(n^{n-2}\)种可能;同时n-1个过程的排列是\((n-1)!\)

//820kb	104ms
#include <cstdio>
const int mod=9999991;

int FP(long long x,int k)
{
	long long t=1;
	for(; k; k>>=1,x=x*x%mod)
		if(k&1) t=t*x%mod;
	return t;
}

int main()
{
	int n; scanf("%d",&n);
	long long res=1;
	for(int i=2; i<n; ++i) res*=i, res>=mod?res%=mod:0;
	printf("%d",(int)(FP(n,n-2)*res%mod));

	return 0;
}
posted @ 2018-02-28 16:06  SovietPower  阅读(150)  评论(0编辑  收藏  举报