当前位置: 首页 > news >正文

NKOJ全TJ计划——NP1397

题目内容

有一条河,左边一个石墩(A区)上有编号为\(1\backsim n\)的只青蛙,河中有个\(k\)荷叶(C区),还有个\(h\)石墩(D区),右边有一个石墩(B区),如下图所示。
0u3st8yt

\(n\)只青蛙要过河(从左岸石墩A到右岸石墩B),规则为:

石墩上可以承受任意多只青蛙,荷叶只能承受一只青蛙(不论大小);
青蛙可以:A→B(表示可以从A跳到B,下同),A→C,A→D,C→B,D→B,D→C,C→D;
当一个石墩上有多只青蛙时,则上面的青蛙只能跳到比它大1号的青蛙上面。

你的任务是对于给出的\(h,k\),计算并输出最多能有多少只青蛙可以根据以上规则顺利过河?
\(0\le h,k\le 20\)

解决方法

我们设\(f_{i,j}\)\(i\)个石墩,\(j\)个荷叶时的最大方案。
\(f_{0,j}=j+1\)
\(h=1\)时,我们可以先让最多的青蛙从\(A\)跳到\(S_1\)(\(f_{0,j}\)),再让最多的青蛙从\(A\)跳到\(D\)(\(f_{0,j}\)),再让青蛙们从\(S_1\)跳到\(D\)(无贡献)。
以此类推,可以得到\(f_{i,j}=f_{0,j}+\sum_{k=1}^{i-1} f_{k,j}=2^i\times f_{0,j}=2^i\times (j+1)\)

代码

#include<bits/stdc++.h>
using namespace std;
int a,b,c;
int main()
{cin>>a>>b;c=pow(2,a);cout<<(b+1)*c;
}
http://www.wxhsa.cn/company.asp?id=1191

相关文章:

  • LT9211C 芯片使用
  • 枚举类型
  • 用 C++ + OpenCV + Tesseract 实现英文数字验证码识别(完整可跑)
  • 2025中国HR SaaS市场分析与选型指南
  • jenkins部署消息发送至钉钉--jenkins配置
  • android java层字符串加密对抗
  • Windows10 RDP远程桌面连接被控端wifi自动断开解决
  • 2025春季杭电多校4题解
  • 2025春季杭电多校5题解
  • Window10 关闭Edge浏览器的多选项卡通过Alt+Tab组合键切换的方式
  • 云行 | 国云聚智 AI甬动,天翼云中国行宁波站成功举办!
  • 2025春季杭电多校3题解
  • 华为鸿蒙(4.0)应用开发(4)—ArkTs开发语言 – 每天进步一点点
  • 【人工智能通识专栏】第十讲:阅读理解 - 指南
  • jenkins部署消息发送至钉钉--钉钉配置
  • HyperWorks许可规划
  • [GCJ 2015 #3] River Flow
  • 2025ICPC网络赛第一场题解
  • 拦截抓浏览器数据DrissionPage的演示
  • 登录认证-下篇:基于 Redis 实现共享session登录
  • 用 Go + Tesseract 实现英文数字验证码识别
  • 基于MATLAB的CNN大气散射传播率计算与图像去雾实现
  • .net连接MYSQL数据库字符串参数详细解析(总结)
  • Kubernetes 数据存储
  • 软件工程第一次作业:自我介绍+软工五问
  • 软件著作权市场与加密货币趋势
  • The 3rd Universal Cup. Stage 37: Wuhan
  • 炸裂:SpringAI新版发布,终于支持断线重连了!
  • spring 事务实战:声明式vs 编程式
  • 【JPCS独立出版Fellow杰青云集】2025年先进材料与航空航天结构力学国际学术会议(AMASM 2025)