bzoj1430: 小猴打架

来源:互联网 发布:高频交易 程序员 编辑:程序博客网 时间:2024/04/26 07:37

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1430

题意:中文题。。。

分析:prufer序列裸题。。编号为1~n的n个节点的树有n^(n-2)种,用prufer证。然后对于每一棵树的打架方案为(n-1)!。

代码:

#include<map>#include<set>#include<cmath>#include<queue>#include<math.h>#include<cstdio>#include<vector>#include<string>#include<cstring>#include<iostream>#include<algorithm>#pragma comment(linker, "/STACK:102400000,102400000")using namespace std;const int N=10000010;const int MAX=151;const int MOD1=100000007;const int MOD2=100000009;const double EPS=0.00000001;typedef long long ll;const ll MOD=9999991;const ll INF=10000000010;typedef unsigned long long ull;int main(){    int i,n;    ll ans;    scanf("%d", &n);    if (n==1) printf("0\n");    else {        ans=1;        for (i=1;i<=n-2;i++) ans=ans*n%MOD;        for (i=1;i<n;i++) ans=ans*i%MOD;        printf("%lld\n", (ans+MOD)%MOD);    }    return 0;}


0 0