【 u234】覆盖墙壁
来源:互联网 发布:报价表格软件 编辑:程序博客网 时间:2024/04/28 04:53
【输入格式】
一个整数N(1<=n<=1000000),表示墙壁的长。
【输出格式】
输出覆盖方法的最后4位,如果不足4位就输出整个答案。
【数据规模】
Sample Input1
13
【题目链接】:http://noi.qz5z.com/viewtask.asp?id=u234
【题解】
是一道递推题.
这种题还有点不熟吧。
设
f[i][0]表示第i列,第一行有方格,第二行没方格,且前i-1列满方格;
f[i][1]表示第i列,第一行有方格,第二行也有方格,且前i-1列满方格;
f[i][2]表示第i+1列,第一行没方格,第二行有方格,且前i列满方格;
递推关系可以画一画
如下图
按照上面的递推公式,不难写出程序;
只取后4位的话,mod 10000就好;
【完整代码】
#include <cstdio>const int MAXN = 1e6+100;const int MOD = 10000;int n;int f[MAXN][3];int main(){ f[0][1] = 1; f[1][0] = 0;f[1][1] = 1;f[1][2] = 1; scanf("%d",&n); for (int i = 2;i <= n;i++) { f[i][0] = (f[i-2][2] + f[i-2][1])%MOD; f[i][1] = (f[i-2][1] + f[i-1][1] + f[i-1][0] + f[i-2][2])%MOD; f[i][2] = (f[i-1][1] + f[i][0])%MOD; } printf("%d\n",f[n][1]); return 0;}
0 0
- 【 u234】覆盖墙壁
- 【动态规划】覆盖墙壁
- P1990 覆盖墙壁
- luogu 1990 覆盖墙壁 (状压dp)
- 【递推】【动态规划】【数列】第二题 覆盖墙壁(wall.pas/c/cpp)
- 墙壁涂色
- 墙壁光缆铺设
- 计蒜课-墙壁涂色
- 墙壁网线口的做法
- 超酷墙壁DIY教程
- 30.在墙壁间反弹
- 32. 更加有效地墙壁反弹
- 哈佛图书馆墙壁训言
- 制作 墙壁剥落的效果
- 家里墙壁发霉是怎么一回事
- UBi+Kinect:把任何墙壁变触摸屏
- Unity3d人物与墙壁碰撞问题求解
- 实现角色与墙壁的来回碰撞
- Delphi7/2007/2009/2010/XE/XE2/XE3/XE4/XE5/XE6/XE7/XE8/10最终版
- Haskell语言学习笔记(4)Functor
- Chrome sapui5开发调试工具
- Java 父类 xx = new 子类()
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——5.2 使用旋转矢量传感器改变球的朝向
- 【 u234】覆盖墙壁
- Hybrid APP混合开发的一些经验和总结
- Cocos2d-x 3.x 图形学渲染系列二十六
- 102. Binary Tree Level Order Traversal
- Leetcode 47. Permutations II
- openstack基础之eventlet
- 去掉RecyclerView的默认item动画
- 写在2017年大年初一
- [OpenGL]从零开始写一个Android平台下的全景视频播放器——4.3 怎么都搞不清楚的几个坐标系