铺地砖
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
T2. 铺地砖 (domino)
来源:CSP-J 入门级模拟题 02 — 递推算法
| 属性 | 值 |
|---|---|
| 内存限制 | 512 MB |
| 时间限制 | 1000 ms |
| 算法标签 | 递推、线性DP |
题目描述
小明家装修,要用 的骨牌铺满一块 的矩形地面。骨牌可以竖着放(占 ),也可以横着放(占 ,需要两行并排)。
但是,地面上有 列因为管道凸起而整列都不能铺骨牌(两个格子都损坏)。
请你帮小明计算:有多少种不同的铺法能将剩余的地面铺满?答案可能很大,请对 取模。
输入格式 domino.in
第一行两个整数 。
接下来 行,每行一个整数 ,表示第 列整列损坏()。保证 互不相同。
输出格式 domino.out
一行一个整数,表示方案数模 。
样例
样例 #1
3 0
3
解释: 无损坏:竖竖竖、竖+两横、两横+竖,共3种。
样例 #2
3 1
2
1
解释:第2列损坏,只能第1列竖放+第3列竖放,共1种。
数据范围
| 测试点 | 特殊 | ||
|---|---|---|---|
| 1-3 | 10 | 0 | 无损坏 |
| 4-6 | 1000 | 5 | 少量损坏 |
| 7-10 | 10 | 无特殊 |
对于全部数据,,,损坏位置互不相同。