您的位置:首页 > 其它

poj 3036

2011-04-30 16:43 106 查看
题意:

黄蜂有多少种走法。

它在六边形格子中走 n 步并且回到初始位置一共有多少种走法。

代码:

#include<iostream>
#include<fstream>

using namespace std;

int res[15][30][30];

void read(){
//	ifstream cin("in.txt");
int i,j,k;
res[0][15][15]=1;
for(k=0;k<14;k++)
for(i=1;i<=29;i++)
for(j=1;j<=29;j++)
{
if(j>2) res[k+1][i][j-2]+=res[k][i][j];
if(j+2<=29) res[k+1][i][j+2]+=res[k][i][j];
if(i>1&&j>1) res[k+1][i-1][j-1]+=res[k][i][j];
if(i>1&&j<29) res[k+1][i-1][j+1]+=res[k][i][j];
if(i<29&&j>1) res[k+1][i+1][j-1]+=res[k][i][j];
if(i<29&&j<29) res[k+1][i+1][j+1]+=res[k][i][j];
}
cin>>k;
while(k--)
{
cin>>i;
cout<<res[i][15][15]<<endl;
}
}

int main(){
read();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: