poj 3036
题意:
黄蜂有多少种走法。
它在六边形格子中走 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;
}