Initiate

Call A Spade a Spade
posts - 14, comments - 3, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2663 tri tiling

Posted on 2010-02-15 22:08 Initiate 阅读(304) 评论(0)  编辑 收藏 引用

这个题是2506的加强版,思路是一样的。

独立的可递推情况变得更多。

独立2列时有3种,而独立4列,6列,8列……所有偶数列都有两种

于是这个递推公式复杂一些

f(n)=3*f(n-2)+2*f(n-4)+2*f(n-6)+2*f(n-8)…………

这两个题f(0)都是1,很有意思~。一开始就这里WA了。

#include<iostream>
using namespace std;
//f(n)=3*f(n-2)+2*f(n-4)+2*f(n-6)……
int f[50];
int main()
{
int i,j,t;
f[0]=1;
f[1]=0;
f[2]=3;
for(i=4;i<=30;i++)
{
   f[i]=3*f[i-2];
   for(j=2; ;j++)
   {
    t=i-2*j;
    if(t<0)break;
    else
     f[i]+=2*f[t];
   }
}
while(cin>>t)
{
if(t==-1)break;
cout<<f[t]<<endl;
}
}

阅读全文
类别:Poj 查看评论

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理