南邮 OJ 1417 Tiling a Grid With Dominoes
2015-08-05 15:35
218 查看
Tiling a Grid With Dominoes
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte总提交 : 15 测试通过 : 12
比赛描述
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.
输入
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.
输出
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.
样例输入
3
2
3
7
样例输出
1 5
2 11
3 781
题目来源
Greater New York Region 2007
#include<iostream> #define MAX_N 31 int dp[MAX_N][16]; int main(){ int i,n,c; dp[1][0]=dp[1][3]=dp[1][6]=dp[1][12]=dp[1][15]=1; for(i=2;i<MAX_N;i++){ dp[i][0]=dp[i-1][15]; dp[i][3]=dp[i-1][15]+dp[i-1][12]; dp[i][6]=dp[i-1][15]+dp[i-1][9]; dp[i][9]=dp[i-1][6]; dp[i][12]=dp[i-1][15]+dp[i-1][3]; dp[i][15]=dp[i-1][15]+dp[i-1][0]+dp[i-1][3]+dp[i-1][6]+dp[i-1][12]; } scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&c); printf("%d %d\n",i,dp[c][15]); } }
相关文章推荐
- Android编程规范
- Java中设置session的详细解释
- CSU 1030 素数槽
- hdu 1181 变形记
- [leetcode 213]House Robber II
- quick3.3与quick2.2的区别(3)
- hadoop2升级的那点事情(详解)
- centos7 如果想让IP配置永久生效,需要修改配置文件
- 判断某特定值是否存在于vector中
- php 实例说明 socket通信机制
- 南邮 OJ 1414 家庭问题
- C#模拟http 发送post或get请求
- 使用maven编译dubbo,导入eclipse(其他maven开源项目编译类似)
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- myeclipse python下配置文档说明_转载
- map
- xStream完美转换XML、JSON
- swift基础
- ubuntu安装ftp服务器(一般配置)
- Java中抽象类和接口的区别