小兔的棋盘
递推题,算下三角的可行方案然后乘2.
每一步由上,左的最短可行方案转移过来.最左边只能从上面下来,为1,靠近斜线只能从左边过来.为f[i][i-1]
#include <iostream> #include "stdio.h" using namespace std; int main() { __int64 a[36][36]; a[1][0] = 1; a[0][1] = 0; for(int i=1; i<36; i++) { a[i][0] = 1; for(int j=1; j<i; j++) { a[i][j] = a[i][j-1] + a[i-1][j]; } a[i][i] = a[i][i-1]; } int n,num=1; while(cin>>n&&n!=-1) { printf("%d %d %I64d\n",num, n, 2 * a[n][n]); num++; } return 0; }