hdu 2501 Tiling_easy version
2010-05-16 17:58
197 查看
http://acm.hdu.edu.cn/showproblem.php?pid=2501
我们这样来分析:
当有1*n的网格,用1*1,1*2,1*3来填有多少种填法了,不难发现就是
f
= f[n-1] + f[n-2] + f[n-3];
这是1*n的网格,如果我有2*n的网格,也用1*2,2*2(他相当于两个1*2)
不也是这样吗
f
= f[n-1] + 2*f[n-2];
#include <iostream>
using namespace std;
int dig[40];
int main()
{
dig[1]=1;
dig[2]=3;
for(int i=3;i<=30;i++)
dig[i]=dig[i-1]+2*dig[i-2];
int n;
while(cin>>n)
{
while(n--)
{
int m;
cin>>m;
cout<<dig[m]<<endl;
}
}
return 0;
}
我们这样来分析:
当有1*n的网格,用1*1,1*2,1*3来填有多少种填法了,不难发现就是
f
= f[n-1] + f[n-2] + f[n-3];
这是1*n的网格,如果我有2*n的网格,也用1*2,2*2(他相当于两个1*2)
不也是这样吗
f
= f[n-1] + 2*f[n-2];
#include <iostream>
using namespace std;
int dig[40];
int main()
{
dig[1]=1;
dig[2]=3;
for(int i=3;i<=30;i++)
dig[i]=dig[i-1]+2*dig[i-2];
int n;
while(cin>>n)
{
while(n--)
{
int m;
cin>>m;
cout<<dig[m]<<endl;
}
}
return 0;
}
相关文章推荐
- HDU 2501 Tiling_easy version(我也是醉了,竟然是一样的代码)
- hdu-2501-Tiling_easy version
- 递推--HDU 2501Tiling_easy version
- hDU 2501-Tiling_easy version
- hdu-2501-Tiling_easy version
- HDU 2501 Tiling_easy version
- hdu 2501 Tiling_easy version
- hdu 2501 Tiling_easy version(简单dp)
- HDU 2501 Tiling_easy version
- hdu 2501 Tiling_easy version
- HDU-2501 Tiling_easy version 递推
- HDU 2501 Tiling_easy version
- HDU-2501 Tiling_easy version(递推)
- HDU 2501-Tiling_easy version(递推)
- hdu 2501--Tiling_easy version
- HDU 2501 Tiling_easy version
- HDU 2501 Tiling_easy version
- HDU 2501.Tiling_easy version
- HDU 2501 Tiling_easy version(dp)
- hdu 2501 Tiling_easy version (水题)