每天一算法(du熊填数字)百度之星的题,限时没有完成,补上。
来源:互联网 发布:三菱系统手动编程实例 编辑:程序博客网 时间:2024/05/22 20:07
Problem Description
du熊这几天使劲的往一个n 行n列的矩阵填0和1这两个数字,n为偶数,而且矩阵由里向外分成了n / 2层。比如n = 6时,矩阵的分层如下:
du熊填数时有一个要求:不能存在两个相邻的1,且位于不同的层(这里的相邻指两格子共用一条线)。
请你帮du熊计算一下有多少种填法。
Input
输入包含多组测试数据,每组数据包含一个偶数n (2 <= n <= 500)。
Output
请计算并输出对2012取余后的结果。
Sample Input
2
4
Sample Output
16
1952
Hint
当n = 4时
1011
0100
0100
0000
是满足要求的
1111
0100
0100
0000
是不满足要求的,因为第一行第二列的1和第二行第二列的1相邻且位于不同的层。
后来想到的解法,,对n层,,则四个角上的不用考虑,,则将剩余的部分在中间用十字平均分成四部分
如上图中6层的数组,,划分成的左上角为,,则只需要一个一个分别看,,又分为。。和,,,
则可以分别看成3个元素的数组,,填充0和1,但1不能相邻,,
5个元素的数组,,填充0和1,但1不能相邻,,
同理,,n个元素的数组,,填充0和1,但1不能相邻,,各类共的有,,2,3,5,8,13,种。。满足斐波那契数列,,,,,,,,以此类推,,,即可完成,,晚了,,程序找时间补上。。
- 每天一算法(du熊填数字)百度之星的题,限时没有完成,补上。
- 每天一算法(du熊学斐波那契I)百度之星限时做。。
- 百度之星2012年12月11日竞赛题目二--du熊填数字
- du熊填数字
- du熊填数字
- 【百度之星12月23号竞赛题目一】Du熊做实验
- 补上一题
- 每天进步一点点之算法(一)
- 百度之星12月23号题目之du熊做实验
- 没有完成的题
- 【每天一道算法题】组成最大的数字
- 【百度之星邀请月赛12月11号竞赛题目一】du熊学斐波那契I
- 百度之星du熊学斐波那契I-C++实现
- 算法每日一题:11、填数
- 算法考试填数字问题
- 补上那天没有写的技术细节(about nutch)
- Android原生PinyinIME的Subtype相关调查(手头没有源码,明天补上...)
- 每天回顾linux命令(du)
- vector c++详细用法
- 小鸟Delphi商业源码002:校园网多媒体自动播放系统
- HBase 0.92.1 Scan 源码详细分析
- C++中的dynamic_cast和static_cast
- open-iscsi源码分析 -- 会话建立
- 每天一算法(du熊填数字)百度之星的题,限时没有完成,补上。
- MyEclipse 快捷键
- Linux文件系统简介
- 设计模式-如何学习设计模式
- 数字排列
- 极限编程
- 虚拟机下给Ubuntu挂载新硬盘
- 专家称3D打印将实现私人化的革命性转变
- 一个简单的算法2