题意  求蜜蜂在蜂巢跑行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. 永远不要对 AI 说:“我不行!”
  2. 机器学习中的损失函数
  3. python一行没写完用什么隔离_在CherryPy中请求隔离是如何工作的。我不明白基本的想法...
  4. 如何利用云原生技术构建现代化应用?
  5. 【C++】rand函数的基本使用
  6. PAT乙类1007之素数对猜想
  7. CentOS 7 下安装 Redis
  8. Entity Framework关联实体的三种加载方法
  9. fstream的用法-----------------2012.12.26
  10. VC连接SQL2005
  11. 均方误差与总平方误差(或绝对误差)
  12. 面试常见的26个问题
  13. 【C++】 文件提取英文单词
  14. iOS中给图片加水印或文字的几种方法
  15. 你或许也想拥有专属于自己的AI模型文件格式(推理部署篇)-(8)
  16. 难倒刘强东的奥数题,京东智能供应链解开了
  17. 股票中主力净量什么意义
  18. 【非广告】2021 入门级的 Java 程序员学习路线图 1.0
  19. EMC文件服务器,emc存储服务器
  20. Hadoop支持的文件格式之Text

热门文章

  1. 图书管理系统功能需求的用例分析
  2. 数据挖掘-3.Pandas基础
  3. python雪花曲线实验报告_探究“雪花”曲线
  4. 【互联网金融】(学习笔记)2、互联网金融概述
  5. linux查看raid情况工具,HP_DELL RAID卡查看工具介绍
  6. 华为p10手机安装linux,鸿蒙OS手机适配进度曝光!麒麟970悬了
  7. [整理] BRD——MRD——PRD,产品经理三大文档概念详解及前后逻辑
  8. 什么是 Web server
  9. 主流服务器的raid(磁盘阵列)配置
  10. vfifo控制mig_基于MIG IP核的DDR3控制器(一)