杭电 2067
来源:互联网 发布:守望先锋各个性能数据 编辑:程序博客网 时间:2024/06/18 00:17
小兔的棋盘
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6326 Accepted Submission(s): 3435
Problem Description
小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想出来,现在想请你帮助小兔解决这个问题,对于你来说应该不难吧!
Sample Input
1312-1
Sample Output
1 1 22 3 103 12 416024
Author
Rabbit
Source
RPG专场练习赛
考察的也是递推,画出棋盘,就可以看到,这个歌棋盘关于那个对角线是对称的,只要求出一个就行, 除了第0列还有第0行,每个位置都有两种方式到达,就拿左边的棋盘为例,就有上面,还有左边两种途径,但是因为终点是对角线上的某点,所以不穿过对角线,对角线两侧又是对称的,所以有f[i][j]=f[i-1][j]当然也可以写成f[i][j]=f[i][j-1],其他的一般的点 有两种路径所以是f[i][j]=f[i-1][j]+f[i][j-1]
代码如下:
#include<stdio.h>__int64 a[44][44];int main(){int n,m=0,i,j;for(i=0;i<44;i++){a[0][i]=1;}for(i=1;i<44;i++){for(j=1;j<44;j++){if(i==j)a[i][j]=a[i-1][j];elsea[i][j]=a[i-1][j]+a[i][j-1];}}while(~scanf("%d",&n),n!=-1){printf("%d %d %I64d\n",++m,n,2*a[n][n]);}return 0;}
0 0
- 杭电 2067
- 杭电
- 杭电
- 杭电
- 杭电 2067 小兔的棋盘
- 杭电2067-小兔的棋盘
- 杭电---2067 小兔的棋盘
- 杭电2067小兔的棋盘
- 杭电 1234 和 杭电 2115
- 杭电2056之Rectangles 杭电
- 杭电ACM1061Rightmost Digit
- 杭电2099 7.11
- 杭电ACM 1003
- 杭电 ACM 2016
- 杭电ACM1466
- 杭电ACM1003
- 杭电ACM1225
- 杭电ACM2023
- 第一篇博客
- POJ1001 Exponentiation--浮点数的高精度乘法
- poj 2513 Colored Sticks——字典树,并查集,欧拉图,哈希表
- 连连看游戏,2点是否可消除算法分析
- HDU 六度分离(Floyd)
- 杭电 2067
- 网页生成工具,图片格式转换,文件夹相关
- hdu2099 整除的尾数
- ORACLE DG 激活 activate database
- HDU 一个人的旅行(Dijkstra)
- 快速幂取模
- 如何解决…has been modified since the precompiled header… was built的问题
- linux 下查看java安装目录
- poj 1276 Cash Machine(多重背包)