如果不是hz说是大水题我还以为是数论。。
如果n个五边形每个断掉一条边,我们就会得到一个基环外向树。
此时还需要断掉一条边,也就是n个五边形中就有一个五边形要断掉两条边,其他断一条。
而且有一条肯定是在中心的那个n边形上,从n个五边形中选取一个是选两条边的,而且五边形在中间n边形上那条边必选,
那就在在剩下4条边再断一条,而剩下的n−1个五边形就随便断一条。
公式就是:n(挑那个断两条边的)* 4(这个五边形有四种选择)* 5^(n-1)(剩下的n-1个都有五种选择)
然后快速幂取mod
#include<cstdio> #include<iostream> #include<cstring> #include<cstdlib> #include<algorithm> #include<cmath> using namespace std; const int mod=2007; int main() { int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); int ans=(n*4)%mod,A=5; n--; while(n>0) { if(n%2==1)ans=(ans*A)%mod; A=(A*A)%mod;n/=2; } printf("%d ",ans); } return 0; }