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

Jack DP 滚动数组

Jack

问题描述

题目描述了一个名为“小镇追逐”的游戏场景。游戏中小镇被划分为R × S R \times SR×S的方格,Jack 从左上角出发,目标是到达右下角的“奖励星号”。路径只能向右或向下移动,且不能穿过墙壁(用#表示)。左上角和右下角始终是空地(用.表示)。

输入格式

输入包含Z ZZ个任务。每个任务的第一行包含两个正整数R RRS SS,表示小镇的行数和列数。接下来的R RR行每行包含S SS个字符,表示小镇的布局。

输出格式

对于每个任务,输出一行语句:
E x i s t u j e X r u z n y c h c e s t . Existuje\ X\ ruznych\ cest.ExistujeXruznychcest.
其中X XX是从左上角到右下角的不同路径数量。路径必须恰好包含R + S − 2 R + S - 2R+S2步,且不能穿过墙壁。

样例输入

2 22
3 3 3\ 333
. . . ......
KaTeX parse error: Expected 'EOF', got '#' at position 2: .#̲.
. . . ......
1 6 1\ 616
KaTeX parse error: Expected 'EOF', got '#' at position 4: ...#̲..

样例输出

E x i s t u j e 2 r u z n y c h c e s t . Existuje\ 2\ ruznych\ cest.Existuje2ruznychcest.
E x i s t u j e 0 r u z n y c h c e s t . Existuje\ 0\ ruznych\ cest.Existuje0ruznychcest.

题解

题目本质是一个二维dp
dp[i][j] 定义为从起点到点(i,j)的路径数
状态转移方程为:
dp[i][j] = dp[i-1][j] + dp[i][j-1]

注意到dp[i][j]只和第 i 和 i - 1 行相关
可以用滚动数组进一步优化空间

代码

#include<bits/stdc++.h>usingnamespacestd;staticconstintMOD=1000000007;// 这题其实没说取模,但很多OJ会加;不影响可去掉intmain(){ios::sync_with_stdio(false);cin.tie(nullptr);intZ;cin>>Z;while(Z--){intR,S;cin>>R>>S;vector<longlong>dp(S,0);for(inti=0;i<R;i++){string row;cin>>row;for(intj=0;j<S;j++){if(row[j]=='#'){dp[j]=0;// 墙,路径数为0}else{if(i==0&&j==0){dp[j]=1;// 起点}else{longlongfrom_up=dp[j];// 上一行longlongfrom_left=(j>0?dp[j-1]:0);dp[j]=from_up+from_left;}}}}cout<<"Existuje "<<dp[S-1]<<" ruznych cest."<<"\n";}return0;}
http://www.jsqmd.com/news/682787/

相关文章:

  • 248MHz RISC-V MCU还能这么玩?手把手教你用AG32VF407内置的2KLE CPLD做高速数据采集
  • QQ邮箱发送文件时删除重复次数后缀
  • 终极指南:如何用AutoLegalityMod插件3分钟创建100%合法宝可梦
  • 别再手动对齐了!用LaTeX的tabularx和booktabs包,5分钟搞定论文符号表
  • 2026年角钢厂家推荐:泰安市金根商贸有限公司,角钢、印标角钢、船用角钢等全系供应 - 品牌推荐官
  • 语言模型在物理构建任务中的表现与挑战
  • 实战:利用GstBuffer元数据(Meta)为音视频流添加自定义信息
  • 多语言语义误差率≤0.5%:世界500强出海企业评估GEO跨文化适配能力的核心标尺 - 资讯焦点
  • FPGA异步FIFO实战:用紫光同创PGL50H开发板搞定跨时钟域数据传输(附完整代码)
  • 4大架构优势:深度解析企业级工作流平台RuoYi-Flowable-Plus
  • 2026年2 - 咪唑酮等化工产品厂家推荐:山东东豪化学有限公司,2 - 咪唑酮、乙烯脲等全系供应 - 品牌推荐官
  • 2026年医疗废物处理设备厂家推荐:潍坊志特环保科技有限公司,提供医疗废物双轴撕碎机等多元环保处理方案 - 品牌推荐官
  • 蓝思科技等精密制造企业:消费电子承压,新业务成增长关键
  • 手把手教你用IndexTTS 2.0:零基础也能玩转AI配音,轻松制作有声书
  • 如何快速掌握八大网盘直链解析:LinkSwift完整使用指南
  • 用手机APP和STM32玩转RC522:从读卡到写卡,一个完整项目实战(附源码)
  • 解放双手的终极方案:KeymouseGo如何用零代码自动化重塑你的数字工作流
  • 用Wireshark抓包实战:一步步拆解Modbus TCP数据帧(附报文实例)
  • 混合摊销推断在光学组织特性分析中的应用与优化
  • GPU加速批量轨迹优化GATO在机器人MPC中的应用
  • 别再乱改权限了!手把手教你用 `pm grant` 命令安全授权(附Android 4.2+避坑指南)
  • Minecraft服务器RPG技能系统终极实战:mcMMO深度配置与性能优化指南
  • 别再死磕单载波了!用MATLAB手把手仿真OFDM系统,5分钟搞懂多载波通信原理
  • 弹性网络回归:原理与Python实战指南
  • Stata实战:用5种方法搞定分组回归系数差异检验(附完整代码与避坑指南)
  • 车载通信架构 —— DDS协议在智能驾驶数据共享中的核心实践
  • 从Smithsonian博物馆到GrabCAD机械库:揭秘5个垂直领域的宝藏3D模型下载站
  • QT ModbusTCP实战:用QModbusTcpClient封装一个带自动重连的工业客户端(附完整源码)
  • 井字棋AI开发:从MiniMax算法到实战优化
  • N_m3u8DL-RE流媒体下载终极指南:解决加密HLS/DASH下载的5种实战方案