哈理工OJ 2003 棋盘(dp问题)
2016-02-25 20:57
155 查看
#include<stdio.h> #include<string.h> long long int dp[1000][1000]; int main() { short int n; memset(dp,0,sizeof(dp)); while(~scanf("%lld",&n)) { int i,j; for(i=1;i<=n;i++) { dp[i][1]=1; } for(i=3;i<=n;i++) { for(j=2;j<i;j++) { dp[i][j]=dp[i-1][j]+dp[i][j-1];//每一步都由其上一步来决定 } } printf("%lld\n",dp [n-1]*2);//因算不到最后一步,所以由其上一步来确定 } return 0; }
相关文章推荐
- (p138)只用固定量额外存储空间不用递归遍历二叉树
- C语言实现链表节点的插入
- Linux知识积累(长更)
- 理解C语言——从小菜到大神的晋级之路(11)——文件输入输出
- 研一(下) 新学期新规划
- vagrant部署开发环境,爽的不是一点点
- vagrant部署开发环境,爽的不是一点点
- HDU 1698 Just a Hook(线段树:区间set,区间查询)
- 哈理工OJ 2170 大斐波那契数(大数加法)
- 数据库大型应用解决方案总结
- 将数字n转换为字符串并保存到s中
- 彻底解决_OBJC_CLASS_$_某文件名", referenced from:问题
- 如何局域网共享文件
- POJ 3468 A Simple Problemwith Integers(线段树:区间add,区间查询)
- Unity5.3 不改变原代码,将ModifyVertices换成ModifyMesh的一个方法
- MKMapView的使用
- 利用ItextPdf、core-renderer-R8 来生成PDF
- 循环语句
- Android开发中的SQLite事务处理
- 哈理工OJ 2161 数列(数学题目)