HDU2067——小兔的棋盘(迷宫,动态规划,卡特兰数)
Description
小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望。不过没过几天发现了棋盘的好玩之处。从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想出来,现在想请你帮助小兔解决这个问题,对于你来说应该不难吧!
Input
每次输入一个数n(1<=n<=35),当n等于-1时结束输入。
Output
对于每个输入数据输出路径数,具体格式看Sample。
Sample Input
1
3
12
-1
Sample Output
1 1 2
2 3 10
3 12 416024
分析
这个小兔走棋盘其实和走迷宫差不多,但是我们走的时候不能穿过对角线(但可接触对角线上的格点) 这时候我们就需要分情况来看了
在对角线上的格点的话,只能由左边来走,不能由上面格点来 即dp( i )( i )=dp( i )( i-1 );
不在对角线上的格点,可以由上面格点或者左边格点走 即dp( i )( j )=dp( i-1 )( j )+dp( i )( j-1 );
注意我们初始化的时候,需要把第一列全置为1 这里我解释不太清楚…
然后输出的话 首先输出case数 然后输出输入的n 然后输出方法数dp( n )( n );
AC代码
#include<bits/stdc++.h>
using namespace std;
const int maxn=40;
long long dp[maxn][maxn];
int main()
{memset(dp,0,sizeof(dp));for(int i=1;i<maxn;i++){dp[i][0]=1;for(int j=1;j<i;j++){dp[i][j]=dp[i-1][j]+dp[i][j-1];}dp[i][i]=dp[i][i-1];}int k=0;int n;while(cin>>n&&n!=-1){cout<<++k<<" "<<n<<" "<<2*dp[n][n]<<endl;}return 0;
}
学如逆水行舟,不进则退
HDU2067——小兔的棋盘(迷宫,动态规划,卡特兰数)相关推荐
- HDU2067 小兔的棋盘
题目链接 思路: ①dp ②卡特兰数 ①:画图,取右下三角形分析,每次都只能向右或向上走.如图所示: 说明:蓝色是初始化, 黑色是行列号,紫色是 该点=左点+下点 所以状态转移方程为 dp[i ...
- 第5周作业(杨辉三角形,队列元素逆置,银行排队——队列,整数划分问题,买票问题——卡特兰数,小兔的棋盘——卡特兰数)
一.杨辉三角形 [问题描述]杨辉三角形的打印,请用循环队列实现.不采用"循环队列",不给分. [样例输入] 4 [样例输出] 1 1 1 1 2 1 1 3 3 1 #includ ...
- 杭电oj-2067 小兔的棋盘(卡特兰数)
杭电oj-2067 小兔的棋盘(卡特兰数) Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天 ...
- 小兔的棋盘 (卡特兰数) 递推动规
小兔的棋盘 Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间, ...
- 杭电2067小兔的棋盘
小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
- 小兔的棋盘(HDU-2067)
Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终 ...
- 小兔的棋盘(卡特蘭數)
Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终 ...
- 阿里云 超级码力在线编程大赛初赛 第2场 题目4. 小栖的金字塔(超级卡特兰数+除法求模/乘法逆元)
文章目录 1. 题目 2. 解题 1. 题目 来源:https://tianchi.aliyun.com/oj/15165469968503404/76745683739284070 2. 解题 按道 ...
- 卡特兰数 HDU2067 HDU4165 HDU1134
题目链接:https://vjudge.net/problem/HDU-2067 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limi ...
最新文章
- 开源网络备份软件bacula学习笔记
- 文件及文件夹更改通知/监测软件TheFolderSpy
- C++ 面向对象(类对象)
- git的一些常用操作
- Ubuntu 20.04 LTS/RTX30XX显卡 快速配置深度学习环境(一行命令)
- 利用Reachability实现网络状态监听
- 数据挖掘 点击更多 界面_6(更多)技巧,可快速改善用户界面
- c ++查找字符串_C ++朋友功能| 查找输出程序| 套装1
- easyui-tabs
- 洗车房,无人车的噩梦
- 超级计算机贝利,5年华为架构师1小时把SpringBoot项目并发提升了10倍,网友:牛掰...
- C++ string字符串修改和替换方法
- 什么是MySQL集群?带你全面掌握MySQL集群原理
- CodeSmith 介绍
- LVS_DR+keepalived(内涵理论与实验)
- hdu校赛—1004
- java三维数组的遍历
- python识别ppt文件格式 ——(专栏:基于python编写简单office阅卷程序③)
- 热敏电阻制作温度传感器的c语言,課题一NTC热敏电阻的温度测量和控制系统.doc...
- [华语][张国荣][16CD][1987-1990][APE+CUE][4.18GB][115][sqhhj0622#HD2PT]
热门文章
- ppt流程图字体太小_PPT基础不好?这5个高大上的PPT技巧,瞬间让老板刮目相看!...
- 某vmp壳原理分析笔记----ELF文件的加载,链接,IDAPYTHON
- tcgames使用有延迟_用tcgames在电脑玩玩刺激战场、全军出击等游戏常见问题解决方案...
- seer文献_SEER数据简单玩法文献分享
- python定时开关机的代码_python自动循环定时开关机(非重启)测试
- python实现单机斗地主_随便写Python实现斗地主
- 2. Oracle实施方法—PJM/AIM (转)
- 鸟哥私房菜-基础篇小笔记
- ssh-keygen相关命令解释和使用注意
- 车速与档位匹配关系_科三车速与挡位如何完美匹配?这篇文章告诉你答案!