POJ - 3797 Tiling a Grid With Dominoes(递推)
2017-09-15 14:44
513 查看
Tiling a Grid With Dominoes
Description
We wish to tile a grid 4 units high and N units long with rectangles (dominoes) 2 units by one unit (in either orientation). For example, the figure shows the five different ways that a grid 4 units high and 2 units wide may be tiled.
Write a program that takes as input the width, W, of the grid and outputs the number of different ways to tile a 4-by-W grid.
Input
The first line of input contains a single integer N, (1 ≤ N ≤ 1000) which is the number of datasets that follow.
Each dataset contains a single decimal integer, the width, W, of the grid for this problem instance.
Output
For each problem instance, there is one line of output: The problem instance number as a decimal integer (start counting at one), a single space and the number of tilings of a 4-by-W grid. The values of W will be chosen so the count will fit in a 32-bit integer.
Sample Input
Sample Output
Source
Greater New York Regional 2007
题意:给你无数个1*2的方块,问你拼出4*N长度的矩形有多少种拼法。
解题思路:递推即可,详细看图片和代码。这道题其实是用来练习状压DP的,但是不会写……以后学了插头DP再回来看看。
图0
图 1 图2
Description
We wish to tile a grid 4 units high and N units long with rectangles (dominoes) 2 units by one unit (in either orientation). For example, the figure shows the five different ways that a grid 4 units high and 2 units wide may be tiled.
Write a program that takes as input the width, W, of the grid and outputs the number of different ways to tile a 4-by-W grid.
Input
The first line of input contains a single integer N, (1 ≤ N ≤ 1000) which is the number of datasets that follow.
Each dataset contains a single decimal integer, the width, W, of the grid for this problem instance.
Output
For each problem instance, there is one line of output: The problem instance number as a decimal integer (start counting at one), a single space and the number of tilings of a 4-by-W grid. The values of W will be chosen so the count will fit in a 32-bit integer.
Sample Input
3 2 3 7
Sample Output
1 5 2 11 3 781
Source
Greater New York Regional 2007
题意:给你无数个1*2的方块,问你拼出4*N长度的矩形有多少种拼法。
解题思路:递推即可,详细看图片和代码。这道题其实是用来练习状压DP的,但是不会写……以后学了插头DP再回来看看。
图0
图 1 图2
#include<iostream> #include<deque> #include<memory.h> #include<stdio.h> #include<map> #include<string> #include<algorithm> #include<vector> #include<math.h> #include<stack> #include<queue> #include<set> #define INF 1<<29 using namespace std; //图0 int dp[1005]; int a[1005]; int b[1005]; int c[1005]; int main() { dp[0]=1;dp[1]=1; a[0]=0;a[1]=1; b[0]=1;b[1]=1; c[0]=1;c[1]=1; for(int i=2;i<1005;i++){ dp[i]=a[i-1]+b[i-1]+c[i-1]+dp[i-1]+dp[i-2];//图1 a[i]=a[i-2]+dp[i-1];//图2 b[i]=c[i-1]+dp[i-1];//自己思考 c[i]=b[i-1]+dp[i-1];//自己思考 } int t; scanf("%d",&t); for(int qqq=1;qqq<=t;qqq++){ int w; scanf("%d",&w); printf("%d %d\n",qqq,dp[w]); } return 0; }
相关文章推荐
- poj 3797 Tiling a Grid With Dominoes 状压dp
- HDOJ 题目1992 Tiling a Grid With Dominoes(递推)
- POJ 3979 && NOI.openjudge 2424 Tiling a grid with dominoes(递推/递归)
- hdu 1992-Tiling a Grid With Dominoes
- HDU-1992-Tiling a Grid With Dominoes-4列n行的骨牌-轮廓线DP
- sicily Tiling a Grid With Dominoes
- zoj zju 2994 Tiling a Grid With Dominoes 状压dp
- HDU 1992 Tiling a Grid With Dominoes
- ZJU2994 Tiling a Grid With Dominoes - 动态规划 变换矩阵
- HDU 1992 Tiling a Grid With Dominoes (状压dp)
- hdoj 1992 Tiling a Grid With Dominoes的题解.
- H - Tiling a Grid With Dominoes HDU - 1992
- HDU 1992 Tiling a Grid With Dominoes (状压 dp)
- HDU 1992 Tiling a Grid With Dominoes(轮廓线dp || 插头dp 简讲)
- Tiling a Grid With Dominoes
- ZOJ 2994 && HDU 1992 Tiling a Grid With Dominoes (状压DP)
- <Sicily>Tiling a Grid With Dominoes
- HDU 1992 Tiling a Grid With Dominoes
- <OJ_Sicily>Tiling a Grid With Dominoes
- hdu 1992 Tiling a Grid With Dominoes