http://poj.org/problem?id=3036

在每一个格子可以转移到与这个各自相邻的六个格子

那么设置转移变量 只需要六个 int d[6][2] = {-1, 0, -1, 1, 0, 1, 1, 0, 1, -1, 0, -1};
然后设dp[i][j][k] : 第i步走到(j ,k) 的方式数

那么转移方程:

for (int m = 0; m < 6; m++)

dp[i][j][k] += dp[i-1][j+d[m][0]][k+d[m][1]]

三个维度的状态 最后得到dp[n][O][O] 就是最后回到原点的个数 六边形只需要坐标六个变化

因为最多n = 14

最多上下最多可以走14 / 2 = 7个

所以设置(7 , 7) 为原点

 #include <iostream>
#include <stdio.h>
#include <string.h>
#define INF 0x3fffffff
using namespace std; long long dp[][][];
int d[][] = {-, , -, , , , , , , -, , -}; //开始坐标标错了
int dx[]={,,,-,,-};
int dy[]={,,,,-,-};
int main()
{
memset(dp, , sizeof(dp));
dp[][][] = ;
for (int i = ; i <= ; i++)
for(int j = ; j <= ; j++)
for(int k = ; k <= ; k++)
for(int m = ; m < ; m++)
dp[i][j][k] += dp[i-][j+d[m][]][k+d[m][]];
int T;
cin >> T;
while (T--)
{
int n;
cin >> n;
cout << dp[n][][] << endl;
}
return ;
}

最新文章

  1. Linux命令dos2unix 从windows转换到linux --- nuix2dos从linux转换到windows
  2. HTML &lt;label&gt; 标签
  3. .Net Core + Angular2 环境搭建
  4. JS 关闭 页面 浏览器 事件
  5. 8VC Venture Cup 2016 - Elimination Round
  6. java使用dom4j解析xml文件
  7. 网站后台的lnmp启动与重启
  8. C:移位运算符
  9. 使用C#在word中插入页眉页脚
  10. Selenium如何实现dropbar移动
  11. Python新手学习基础之运算符——位运算
  12. cocos2dx android resources.ap_ does not exist
  13. Spring的监听器ContextLoaderListener
  14. linux 安装sysstat使用iostat、mpstat、sar、sa
  15. antlr 4新特性总结及与antlr v3的不同
  16. linux 下启动java jar包 shell
  17. SSM商城项目(十一)
  18. 销售合同金额数据从Excel导入
  19. Python+Selenium学习--操作测试对象
  20. Blue_Flke团队项目设计完善&amp;编码测试

热门文章

  1. 如何配置TomCat
  2. 诊断Java代码中常见的数据库性能热点问题应该这么做!
  3. Makeflie自动生成依赖,自动化编译
  4. Linux php安装zip扩展
  5. https://www.runoob.com/python/python-variable-types.html
  6. 【vc】高精度时间函数的使用
  7. dos command
  8. python爬虫---从零开始(一)初识爬虫
  9. CF633H Fibonacci-ish II
  10. 网易技术分享:Nginx缓存引发的跨域惨案