炫耀手機

2128: 炫耀手機

題目描述

小F終於買到了心儀的手機,當然是華爲的新款啦。小F有5個好朋友,她把新買的手機拿給朋友們看。手機就在她們手中傳遞了。小F先把手機給某個朋友,每個朋友欣賞完手機後就把手機傳給另外一個人欣賞。當然已經看過手機的人還可以繼續接過來欣賞。結果經過n次傳遞後,手機又回到小F手中(中間過程手機也可能回到過小F手中)。你能知道傳遞的過程中有多少種傳遞方式嗎?

輸入

多組測試數據,每組輸入一個整數n(1<=n<=20)

輸出

輸出傳遞的種數

樣例輸入

2

樣例輸出

5

題解:

這題不就是小學奧數嗎?

暴力出奇跡ヾ(≧▽≦*)o(數據水):

用a[i][j]表示當傳手機i次時,到編號爲j人的總方案數

初始狀態爲:

a[0][1]=1;
a[0][2]=0;
a[0][3]=0;
a[0][4]=0;
a[0][5]=0;
a[0][6]=0;

最終狀態爲

a[n][1]

代碼:

#include<bits/stdc++.h> 
using namespace std;
int n;
long long a[25][10];
int main() 
{
	while(cin>>n) 
	{
		a[0][1]=1;
		a[0][2]=0;
		a[0][3]=0;
		a[0][4]=0;
		a[0][5]=0;
		a[0][6]=0;
		for(int i = 1; i <= n; ++i)
		{
			for(int j = 1;j <= 6; ++j)
			{
				long long sum = 0;
				for(int k = 1;k <= 6; ++k)
					sum += a[i - 1][k];
				a[i][j] = sum - a[i - 1][j];
			}
		}
		cout << a[n][1] << endl;
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章