NCSTOJ:【Catlan数】上甘岭

一、题目描述:
没有一个地方比“上甘岭”更让中国人念念不忘,因为没有一场战役比“上甘岭战役”更能诠释中国人的民族精神。

在上甘岭战役中,美军面对我军顽强的抵抗偷偷的往山上挖了一条隧道,但是我军潜伏在美军中的情报员窃取了这条情报。已知这条坑道的两端(分别被志愿军和美军控制)一次只能进去一人。由于志愿军众志成城,只要我军在坑道里的人数大于等于美军的人数我军就能获得坑道的控制权(不考虑人员伤亡)。由于我军情报员出色的侦查能力,我军获取美军的进攻计划(何时派出士兵进入),已知两方均有n名士兵要进入坑道,问在保证我军控制坑道的情况下,坑道中可能有多少种情况。

输入:
两方的人数相同都为n(1)

输出
坑道内的我军和美军进去顺序排列的最大数量(答案对100取模)

Sample Input

3

Sample Output

5

对样例的解释:

0表示志愿军,*表示美军

由于我军已知敌军行动所以坑道内的情况:

000***

0*00**

00*0**

00**0*

0* 0* 0*

Ps:以进去的时间排列

二、代码:

#include <iostream>
typedef long long ll;
using namespace std;
ll n,f[1001]={0};
 
int main()
{
  cin>>n;
  f[0]=1;
  f[1]=1;
  f[2]=2;
  for(int j=3;j<=n;j++)
  for(int i=0;i<=j-1;i++)
  {
  	f[j]+=f[i]*f[j-i-1];
  	if(f[j]>=100) f[j]%=100;
  }
  cout<<f[n]<<endl;
  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值