1. 程式人生 > >星際之門(一)

星際之門(一)

輸出 detail return 技術 gin ace problem pau ans

星際之門(一)

時間限制:3000 ms | 內存限制:65535 KB 難度:3
描寫敘述

公元3000年。子虛帝國統領著N個星系,原先它們是靠近光束飛船來進行旅行的,近來,X博士發明了星際之門,它利用蟲洞技術,一條蟲洞能夠連通隨意的兩個星系。使人們不必再待待便可立馬到達目的地。

帝國皇帝覺得這樣的發明非常給力,決定用星際之門把自己統治的各個星系連結在一起。

能夠證明,修建N-1條蟲洞就能夠把這N個星系連結起來。

如今,問題來了,皇帝想知道有多少種修建方案能夠把這N個星系用N-1條蟲洞連結起來?

輸入
第一行輸入一個整數T,表示測試數據的組數(T<=100)
每組測試數據僅僅有一行,該行僅僅有一個整數N。表示有N個星系。(2<=N<=1000000)
輸出
對於每組測試數據輸出一個整數,表示滿足題意的修建的方案的個數。輸出結果可能非常大。請輸出修建方案數對10003取余之後的結果。
例子輸入
2
3
4
例子輸出
3
16

本題是prufer編碼的簡單應用;http://blog.csdn.net/zchlww/article/details/39737211
程序源代碼:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,n,i,m;
    scanf("%d",&x);
    while(x--)
    {
        scanf("%d",&m);
        n=1;
        for(i=1;i<=m-2;i++)
        {
            n*=m;
            n%=10003;
        }
        if(n==2)
            printf("1\n");
        else
            printf("%d\n",n);
    }
    system("pause");
    return 0;
}

星際之門(一)