hdu 1143 Tri Tiling

来源:互联网 发布:笔记本 外接显卡 知乎 编辑:程序博客网 时间:2024/05/16 17:12

Tri Tiling

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2112    Accepted Submission(s): 1206


Problem 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
2812-1
 

Sample Output
31532131
 
总结:
代码比较简单易懂,但是我们要注重递推过程,根据自己动手动脑推出递推公式。

递推:
<span style="font-size:18px;">#include<stdio.h>int main (){ int n,i; int a[40]; while(~scanf("%d",&n)&&n!=-1) {  a[0]=1; // 为什么是1???  a[1]=0;  a[2]=3;  a[3]=0;  a[4]=11;  for(i=5;i<=31;i++)  {   if(i%2==0)   a[i]=a[i-2]*4-a[i-4];   else    a[i]=0;  }  printf("%d\n",a[n]); }}</span>


0 0
原创粉丝点击