二维图的动态规划
因为不能穿越对角线,则选取对角线的一边dp即可
选取对角线右下侧
则x轴上每个点只能由其左侧的点走过去(只有1条)
对角线上的点只能由对角线下方的点走过去
其他点可以由左侧和下侧两种方式到达
因为对角线左上和右下均可
所以答案*2
#include<stdio.h> long long s[36][36]; int main(){ int n,i,j,N=0; for(i=1;i<=35;i++){ s[i][0]=1; for(j=1;j<i;j++) s[i][j]=s[i][j-1]+s[i-1][j]; s[i][i]=s[i][i-1]; } while(scanf("%d",&n)!=EOF&&n!=-1){ N++; printf("%d %d %lld ",N,n,s[n][n]*2); } return 0; }