杭電 ACM HDOJ 2045 不容易系列之(3)—— LELE的RPG難題

有排成一行的n個方格,用紅(Red)、粉(Pink)、綠(Green)三色塗每個格子,每格塗一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的塗法.
Input

輸入數據包含多個測試實例,每個測試實例佔一行,由一個整數N組成,(0<n<=50)

Output

對於每個測試實例,請輸出全部的滿足要求的塗法,每個實例的輸出佔一行。

Sample Input

1 2

Sample Output

3 6

 

#include<iostream>
using namespace std;
int main()
{
 int n,i;
 __int64 a[51];
  //這裏需要定義64位,因爲數字很大滴
 a[1]=3;
 a[2]=6;
 a[3]=6;
 for(i=4;i<=50;i++)
 {
  a[i]=a[i-1]+2*a[i-2];
  //本程序的核心算法,把本來一排的格子頭尾連接考慮。
 }
 while(scanf("%d",&n)!=EOF)
 {
  printf("%I64d\n",a[n]);
 }
 return 0;
}

發佈了171 篇原創文章 · 獲贊 9 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章