HDU 2067

卡特兰数的例题了。

import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.Scanner;
import java.io.InputStreamReader;

public class Main{
	public static void main(String args[]){
		Scanner in=new Scanner(System.in);
		BigDecimal []Can=new BigDecimal[50];
		Can[0]=new BigDecimal(1);
		BigDecimal B,C,D,E;
		for(int i=1;i<50;i++){
			B=new BigDecimal(4*i-2);
			C=new BigDecimal(i+1);
			D=Can[i-1].multiply(B);
			Can[i]=D.divide(C);
		}
		int kase=0;
		E=new BigDecimal(2);
		while(in.hasNext()){
			kase++;
			int x=in.nextInt();
			if(x==-1)
				break;
			BigDecimal ans=Can[x].multiply(E);

				System.out.println(kase+" "+x+" "+ans.toString());
		}
	}
}

  

时间: 2024-08-04 18:45:05

HDU 2067的相关文章

hdu 2067 小兔的棋盘(组合数学 卡特兰数)

卡特兰数又称卡塔兰数,英文名Catalan number,是组合数学中一个常出现在各种计数问题中出现的数列.以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)的名字来命名,其前几项为(从第零项开始) : 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420

hdu 2067(递推或卡特兰数【待补充】)

//解法一:递推#include<iostream> using namespace std; long long d[36][36]; int main() { for(int i=1;i<=35;i++) { d[0][i]=1; } for(int i=1;i<=35;i++) for(int j=i;j<=35;j++) { if(i==j) d[i][j]=d[i-1][j]; else d[i][j]=d[i-1][j]+d[i][j-1]; } int n; i

hdu 2067 兔子板

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

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 2067 DP。

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

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,

HDU分类

模拟题, 枚举 1002 1004 1013 1015 1017 1020 1022 1029 1031 1033 1034 1035 1036 1037 1039 1042 1047 1048 1049 1050 1057 1062 1063 1064 1070 1073 1075 1082 1083 1084 1088 1106 1107 1113 1117 1119 1128 1129 1144 1148 1157 1161 1170 1172 1177 1197 1200 1201 12

转载:hdu 题目分类 (侵删)

转载:from http://blog.csdn.net/qq_28236309/article/details/47818349 基础题:1000.1001.1004.1005.1008.1012.1013.1014.1017.1019.1021.1028.1029. 1032.1037.1040.1048.1056.1058.1061.1070.1076.1089.1090.1091.1092.1093. 1094.1095.1096.1097.1098.1106.1108.1157.116