题意  求蜜蜂在蜂巢跑行n个格子回到原点的方法数

把每个格子抽象成一个点   最多走14步   把初始位置O的坐标设为(15,15)   保围着O的6个点如下图所示   他们到O的距离都是1

每个点周围都有这样的6个点   代表相邻的格子   这6个点到中间点的距离为1   令d[k][i][j]表示  从O点走k步到达(i,j)点的方法总数   那么很容易有转移方程 d[k][i][j]=d[k-1][i-1][j-1]+d[k-1][i][j-1]+d[k-1][i+1][j]+d[k-1][i+1][j+1]+d[k-1][i][j+1]+d[k-1][i-1][j]   边界条件为d[0][15][15]=0

#include<cstdio>
using namespace std;
const int L = 15, X = 30, Y = 30;
int main()
{int d[L][X][Y]={0}, n, t;d[0][15][15] = 1;for (int k = 1; k < L; ++k)for (int i = 1; i < X; ++i)for (int j = 1; j < Y; ++j)d[k][i][j] = d[k - 1][i - 1][j - 1] + d[k - 1][i][j - 1] + d[k - 1][i + 1][j] +d[k - 1][i + 1][j + 1] + d[k - 1][i][j + 1] + d[k - 1][i - 1][j];scanf ("%d", &t);while (t--){scanf ("%d", &n);printf ("%d\n", d[n][15][15]);}return 0;
}
Honeycomb Walk

Description

A bee larva living in a hexagonal cell of a large honeycomb decides to creep for a walk. In each “step” the larva may move into any of the six adjacent cells and after n steps, it is to end up in its original cell.

Your program has to compute, for a given n, the number of different such larva walks.

Input

The first line contains an integer giving the number of test cases to follow. Each case consists of one line containing an integer n, where 1 ≤ n ≤ 14.

Output

For each test case, output one line containing the number of walks. Under the assumption 1 ≤ n ≤ 14, the answer will be less than 231.

Sample Input

2
2
4

Sample Output

6
90


POJ 3036 Honeycomb Walk(DP)相关推荐

  1. poj 1185(状压dp)

    题目链接:http://poj.org/problem?id=1185 思路:状态压缩经典题目,dp[i][j][k]表示第i行状态为j,(i-1)行状态为k时最多可以放置的士兵个数,于是我们可以得到 ...

  2. poj 2948 Martian Mining (dp)

    http://poj.org/problem?id=2948 意:一个row*col的矩阵,每个格子内有两种矿yeyenum和bloggium,并且知道它们在每个格子内的数量是多少.如图所示,最北边有 ...

  3. [POJ 1742] Coins 【DP】

    题目链接:POJ - 1742 题目大意 现有 n 种不同的硬币,每种的面值为 Vi ,数量为 Ni ,问使用这些硬币共能凑出 [1,m] 范围内的多少种面值. 题目分析 使用一种 O(nm) 的 D ...

  4. poj 3254 状压dp

    E - Corn Fields Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Sub ...

  5. POJ 1088----滑雪(DP)

    原题连接:http://poj.org/problem?id=1088 Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当 ...

  6. POJ 1692 Crossed Matchings dp[][] 比较有意思的dp

    http://poj.org/problem?id=1692 这题看完题后就觉得我肯定不会的了,但是题解却很好理解.- - ,做题阴影吗 所以我还是需要多思考. 题目是给定两个数组,要求找出最大匹配数 ...

  7. POJ 1015 Jury Compromise dp分组

    第一次做dp分组的问题,百度的~~ http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定.陪审团是由法官从公众中挑选的.先随机挑 ...

  8. poj 1088 滑雪 (dp)

    题目链接 题意就不多解释了,题目思路很简单,搜索就行了,但是暴搜会TLE,但是对于每一个dfs(X, Y),如果参数一样的话结果也是一样的,我们用一个二维数组去保存每次计算的位置的结果,最后从所有的解 ...

  9. Corn Fields(POJ 3254状压dp)

    题意: n*m网格1能放0不能放 放的格子不能相邻 求一共多少种可放的方案. 分析: dp[i][j]第i行可行状态j的的最大方案数,枚举当前行和前一行的所有状态转移就行了(不放牛也算一种情况) #i ...

最新文章

  1. linux openssh打补丁,openssh升级,打补丁
  2. java设计模式-适配器模式
  3. php中序列化与反序列化
  4. 如何使用Leangoo看板统计中的任务分布?
  5. 程序设计语言常见面试题
  6. 【阿里云课程】循环神经网络:RNN及其改进
  7. 数据事业部/数据项目/数据乐高
  8. android r文件错误,Android R文件丢失异常原因汇总
  9. js node.js 编写命令工具demo
  10. false true求或_如何依据【关键字】求【数量和】
  11. C语言 符号配对 (20分)
  12. 异常值(outlier)的判别与剔除
  13. python画名侦探柯南_基于flask的可视化动漫分析网站【python入门必学】
  14. 申城「三日谈」:言汇百家,思通以达(SDCC 2017上海站PPT集锦)
  15. eNSP中静态路由器和默认路由器的配置连接
  16. 艾司博讯:拼多多推广计划点击价格设置
  17. 500万条微博数据来源分析
  18. 支持在线大数据SQL查询平台开源项目
  19. python3切割圆形图片
  20. 如何选择企业即时通讯软件

热门文章

  1. 交换机err-disabled状态解决方案(关于err-disabled状态的一切)
  2. 美元指数站稳脚跟,下周耶伦再掀风暴
  3. 2021年西式面点师(初级)报名考试及西式面点师(初级)新版试题
  4. Kali破解windows系统用户名密码工具mimikatz
  5. Mybatis中的association用法
  6. 为了讲清楚Android触摸事件,我“拆了部手机”
  7. 大型三甲医院云HIS系统源码 强大的电子病历+完整文档
  8. 怎么用计算机算出你的真实体重,【图】超准的体重身高比例计算器 算出你的标准体型_体重身高比例计算器_伊秀美体网|yxlady.com...
  9. 名言警句(每天三遍)
  10. JOS 中的键盘编码