poj 2663 Tri Tiling

Tri Tiling
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 5805   Accepted: 3099

Description

In how many ways can you tile a 3xn rectangle with 2x1 dominoes?
Here is a sample tiling of a 3x12 rectangle.

Input

Input consists of several test cases followed by a line containing -1. Each test case is a line containing an integer 0 <= n <= 30.

Output

For each test case, output one integer number giving the number of possible tilings.

Sample Input

2
8
12
-1

Sample Output

3
153
2131
#include<iostream>
using namespace std;
int main()
{
int arr[31];
arr[0]=1;
arr[1]=0;
arr[2]=3;
arr[3]=0;
for(int i=4;i<31;i++)
{
arr[i]=arr[i-2]*4-arr[i-4];
}

int n;
while(1)
{
cin>>n;
if(n==-1)
break;
cout<<arr[n]<<endl;
}
return 0;
}

posted @ 2011-11-22 12:59  w0w0  阅读(307)  评论(0)    收藏  举报