ZJNU 1138 - 小兔的棋盘——中级

本小妞迷上赌 提交于 2020-01-19 15:02:47

二维图的动态规划
因为不能穿越对角线,则选取对角线的一边dp即可
选取对角线右下侧
则x轴上每个点只能由其左侧的点走过去(只有1条)
对角线上的点只能由对角线下方的点走过去
其他点可以由左侧和下侧两种方式到达
因为对角线左上和右下均可
所以答案*2

 1 /*
 2 Written By. StelaYuri
 3 */
 4 #include<stdio.h>
 5 long long s[36][36];
 6 int main(){
 7     int n,i,j,N=0;
 8     for(i=1;i<=35;i++){
 9         s[i][0]=1;
10         for(j=1;j<i;j++)
11             s[i][j]=s[i][j-1]+s[i-1][j];
12         s[i][i]=s[i][i-1];
13     }
14     while(scanf("%d",&n)!=EOF&&n!=-1){
15         N++;
16         printf("%d %d %lld\n",N,n,s[n][n]*2);
17     }
18     return 0;
19 }
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!