トピックポータル
件名の説明:
五角形リングと呼ばれるグラフィックがあります。
中心五角形の円環からなるn個の頂点と辺によってN。また、同じ時間五角形の特定の側面、側面のn個の五角形リム中間点のそれぞれにおける異なるnの合計で。五角形リング五角形円の中心の唯一の共通の頂点。図五角形リングは、4- 0図です。
Nは現在、五角形リング与え、あなたのタスクは異なるスパニングnは得られ五角形リングの数です。スパニングツリーは何が何であるかを覚えていますか?それによって、ツリーを生成する、スパニングツリー図とそのようなエッジの複数の減算元の予約のすべての頂点の数です。
注:nは五角形所定の円内のすべての頂点が異なるとして頂点です。
入力形式の
入力は、試験データの複数のセットを含みます。
最初の行は、正の整数Tを含む試験データの数を表します。
各テストは整数を含んN(2 <= N <= 100)、 次のエッジを解決する必要が中心五角形の巻き数を表します。
出力形式
のテストデータ出力ラインの各セットのためには、整数xを含ん2007五角形リング法nの後に木の結果に及ぶ数です。
分析:
数学的な導出の問題(
、実際に具体的には約、グラフ理論に配置されます。。)。
- 私たちは、最初のスパニングツリーの概念を考慮してください。 、図ポイントであります エッジが取り付けられています。
の合計を描く、描くことは困難ではありません ポイント 側面。
- スパニングツリーの性質に応じて、我々は削除する必要があります エッジ。
均等ダウン共有五角形の各辺は、エッジを残して削除する必要があります。(五角形の両側を削除する必要があること)
正図以来。 変形がリングであるので、我々は肯定的な側面は、削除する必要があることである持っている必要があります -sidedポリゴンエッジ。
- 五角形は、削除する肯定的な側面があり、二つの側面を削除する必要があります -gon側、4つの方法があり、各五角形この五角形の両側の合計を削除してもよいです Aがあります 方法
- 残りのn-1はそれぞれ五角形を削除することができる5つの辺の合計が プログラムの種類
したがって、プログラムの総数は、次のとおり
次に、具体的なコードは次のように:
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define P 2007
int t;
int main(){
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
scanf("%d",&t);
while (t--){
int n;
scanf("%d",&n);
LL Pow=1;
for (int i=1;i<n;i++) Pow=(Pow*5)%P;
printf("%lld\n",(Pow*4*n)%P);
}
fclose(stdin);
fclose(stdout);
return 0;
}