POJ-3036 Honeycomb Walk 简单DP

来源:互联网 发布:阿里云上传视频教程 编辑:程序博客网 时间:2024/05/16 09:12

蜂巢每一格为正六边形结构,所以蜜蜂每次有6个方向可以走,问n步以后走回最初点有多少种情况。

#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <queue>#include <iomanip>#include <cstring>#include <cstdlib>using namespace std;int map[16][30][30];int main(){int t;int n;memset(map,0,sizeof(map));map[0][15][15]=1;for(int i=1;i<=15;i++){for(int j=1;j<=30;j++){for(int k=1;k<=30;k++){map[i][j][k]=map[i-1][j][k-1]+map[i-1][j][k+1]+map[i-1][j-1][k]+map[i-1][j+1][k]+map[i-1][j-1][k-1]+map[i-1][j+1][k+1];}}}scanf("%d",&t);while(t--){scanf("%d",&n);printf("%d\n",map[n][15][15]);}return 0;}


0 0