大致题意: 求(n)个五边形构成的五角形圈的生成树个数(五角形圈的定义见原题面的图,文字难以描述)。
(SB)题
显然,一般而言,每个五边形中要恰好断开一条边,有(5)种方案。
但由于是生成树,就需要有一个五边形断开两条边,且其中一条必然是圈上的边(不然会导致不连通),因此这个特殊五边形有(4)种断边方案。
又因为这个特殊五边形有(n)种选择,所以总方案数为(n imes 4 imes 5^{n-1})。
代码
#include<bits/stdc++.h>
#define Tp template<typename Ty>
#define Ts template<typename Ty,typename... Ar>
#define Reg register
#define RI Reg int
#define Con const
#define CI Con int&
#define I inline
#define W while
#define N 100
#define X 2007
using namespace std;
int n;I int QP(RI x,RI y) {RI t=1;W(y) y&1&&(t=t*x%X),x=x*x%X,y>>=1;return t;}
int main()
{
RI Tt;scanf("%d",&Tt);W(Tt--) scanf("%d",&n),printf("%d
",n*4*QP(5,n-1)%X);
return 0;
}