I - 小兔的棋盘 (HDU - 2067)

- 题目大意

中文题,寻找从起点(0,0)走到终点(n,n)且不穿过对角线的最短路径数。

- 解题思路

利用卡特兰数,地图上的点满足num[i] += num[j] * num[i - j - 1],最后卡特兰数乘2就是答案了。

- 代码

#include<iostream>
#include<cstring>
using namespace std;
const int MAX = 36;
long long num[MAX];
void find()
{
	memset(num, 0, sizeof(num));
	num[0] = num[1] = 1;
	for (int i = 2; i <= 35; i++)
		for (int j = 0; j<i; j++)
		{
			num[i] += num[j] * num[i - j - 1];
		}
}
int main()
{
	int n;
	int a = 1;
	find();
	while (cin >> n)
	{
		if (n == -1)
		{
			break;
		}
		cout << a++ << " " << n << " " << 2 * num[n] << endl;

	}
	return 0;
 }

  

原文地址:https://www.cnblogs.com/alpacadh/p/8448374.html

时间: 2024-08-30 03:00:30

I - 小兔的棋盘 (HDU - 2067)的相关文章

HDU——2067 小兔的棋盘

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11004    Accepted Submission(s): 5569 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点

HDU 2067:小兔的棋盘

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8905    Accepted Submission(s): 4631 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(

(hdu step 2.3.8)小兔的棋盘(卡特兰数:从左上角走到右上角的路径数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 802 Accepted Submission(s): 502 Problem Description

小兔的棋盘(hdu2067)

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 7547    Accepted Submission(s): 4020 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(

小兔的棋盘(hdu2067)

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7547    Accepted Submission(s): 4020 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(n

HDU2067 小兔的棋盘【DP】

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6922    Accepted Submission(s): 3708 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(

小兔的棋盘

小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 6748 Accepted Submission(s): 3634 Problem Description 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(n,n)的最

hdu2067 小兔的棋盘

小兔的棋盘 时间限制:1000/1000 MS(Java / Others)内存限制:32768/32768 K(Java / Others)总提交内容:13029接受的提交内容:6517 问题描述 小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(N,N)的最短路径数是C(2N,N),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想

杭电---2067 小兔的棋盘

Problem Description  小兔的叔叔从外面旅游回来给她带来了一个礼物,小兔高兴地跑回自己的房间,拆开一看是一个棋盘,小兔有所失望.不过没过几天发现了棋盘的好玩之处.从起点(0,0)走到终点(n,n)的最短路径数是C(2n,n),现在小兔又想如果不穿越对角线(但可接触对角线上的格点),这样的路径数有多少?小兔想了很长时间都没想出来,现在想请你帮助小兔解决这个问题,对于你来说应该不难吧! Input 每次输入一个数n(1<=n<=35),当n等于-1时结束输入. Output 对于