problem description
近期b廠組織了一次大搬家,所有人都要按照指示換到指定的座位上。指示的內容是坐在位置ii
i上的人要搬到位置jj
j上。現在b廠有nn
n個人,一對一到nn
n個位置上。搬家之後也是一一對應的,改變的只有位次。
雖然我們都知道度度熊的「機智」常常令人堪憂,但是不可思議的是,這回真的應驗了。第三次搬家後的結果和第一次的結果完全相同。
那麼,有多少種指示會讓這種事情發生呢?如果兩種指示中至少有乙個人的目標位置不同,就認為這兩種指示是不相同的。
input
第一行乙個整數tt
t,表示t組資料。
每組資料報含乙個整數n(1 \leq n \leq 1 000 000)n(
1≤n≤
1000
000)
。 output
對於每組資料,先輸出一行case #i:然後輸出結果,對100
0000
007取模。
sample input
213
sample output
case #1:1case #2:
4
一上來看題有點暈乎,不知所云。
仔細一想【查了查題解】就是乙個換位置的問題,問有多少種情況能換三次後讓原來的位次不變。
1(1和1換)
2(1和2換,2和1換)(1和1換,2和2換)
3(1和1換,2和2換,3和3換)(1和2換,2和1換,3和3換)(1和3換,3和1換,2和2換)(2和3換,3和2換,1和1換)
這麼數下去,n就可以分成兩種:一、和自己換;二、和前面n-1個人中1個的換。
所以遞推公式就是:a[n] = a[n-1] + a[n-2]*(n-1);
ps.一開始i64d寫成i64d,wa了兩次t^t
#include const int mod = 1000000007;
long long a[1000000 + 5];
int main()
return 0;
}
2015百度之星資格賽1001 大搬家
這題主要是找規律,組合數學和遞推式。舉個例子啊,987654321 912345678 我們從最小的單位 乙個數開始考慮它的所有情況,共有兩種 1.不換位置 4 4 2.與其他數的位置對換 7 2,2 7 我們記共有i個數時的可能性為f i 對於一排數來說,如果乙個數不換位置 情況一 那麼整排數的可...
2014百度之星1001
problem description 魔法師百小度也有遇到難題的時候 現在,百小度正在乙個古老的石門面前,石門上有一段古老的魔法文字,讀懂這種魔法文字需要耗費大量的能量和大量的腦力。過了許久,百小度終於讀懂魔法文字的含義 石門裡面有乙個石盤,魔法師需要通過魔法將這個石盤旋轉x度,以使上面的刻紋與天...
2015百度之星資格賽1001
題目名稱 大搬家 problem description 近期b廠組織了一次大搬家,所有人都要按照指示換到指定的座位上。指示的內容是坐在位置 i 上的人要搬到位置 j 上。現在b廠有 n 個人,一對一到 n 個位置上。搬家之後也是一一對應的,改變的只有位次。在第一次搬家後,度度熊由於疏忽,又要求大家...