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

过河卒--记忆化搜索

1.dfs正常做,记得还原,bo数组及时还原成false

2.事件类做法,到终点返回1,记作一次合理路线/方法

类似的李白打酒,地宫取宝

P1002 [NOIP 2002 普及组] 过河卒 - 洛谷

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
typedef pair<int,int> pii;
int n,m,x,y;
int dx[8]={-2,-1,1,2,2,1,-1,-2};
int dy[8]={1,2,2,1,-1,-2,-2,-1};
bool bo[35][35];
ll dp[35][35];
ll dfs(int x,int y)
{if(x==n&&y==m) return 1;if(x<0||x>n||y>m||y<0) return 0;if(dp[x][y]!=-1) return dp[x][y];ll res=0;if(x+1<=n&&!bo[x+1][y]){bo[x+1][y]=true;res+=dfs(x+1,y);bo[x+1][y]=false;	} if(y+1<=m&&!bo[x][y+1]){bo[x][y+1]=true;res+=dfs(x,y+1);bo[x][y+1]=false;	}return dp[x][y]=res;
}
void solve()
{cin>>n>>m>>x>>y;bo[x][y]=true;for(int i=0;i<8;i++){int tx=x+dx[i];int ty=y+dy[i];if(tx>=0&&tx<=n&&ty>=0&&ty<=m){bo[tx][ty]=true;}}bo[0][0]=true;memset(dp,-1,sizeof(dp));cout<<dfs(0,0);
} 
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);solve();return 0;
}

http://www.xdnf.cn/news/670825.html

相关文章:

  • OpenHarmony平台驱动使用(五),HDMI
  • Python实现VTK-自学笔记(5):在三维世界里自由舞蹈——高级交互与动态可视化
  • @recogito/annotorious图像标注库
  • java 项目登录请求业务解耦模块全面
  • (自用)Java学习-5.16(取消收藏,批量操作,修改密码,用户更新,上传头像)
  • 基于 Operator 部署 Prometheus 实现 K8S 监控
  • Spark实时流数据处理实例(SparkStreaming通话记录消息处理)
  • 【md2html python 将 Markdown 文本转换为 HTML】
  • HTML Day02
  • pythonday30
  • Spark SQL进阶:解锁大数据处理的新姿势
  • AG32 DMAC实现内部MCU与FPGA通信【知识库】
  • 运维自动化工具 ansible 知识点总结
  • 域控账号密码抓取
  • C++数据结构 : 哈希表的实现
  • 2025上半年软考高级系统架构设计师经验分享
  • 第十一节:第一部分:正则表达式:应用案例、爬取信息、搜索替换
  • 牙科低对比度模体,衡量牙科影像设备的性能和诊断能力的工具
  • 8种使用克劳德4的方法,目前可用随时更新!
  • 人工智能与机器学习从理论、技术与实践的多维对比
  • 打造AI智能旅行规划器:基于LLM和Crew AI的Agent实践
  • Flash Attention:让Transformer飞起来的硬件优化技术
  • 宝塔安装easyswoole框架
  • Cherry Studio连接配置MCP服务器
  • wsl图形界面显示
  • 探讨Facebook的元宇宙愿景下的虚拟现实技术
  • 【2025最新】Cline自定义API配置完全指南:接入Claude 3.7/GPT-4o
  • 用C#完成最小二乘法拟合平面方程,再计算点到面的距离
  • OpenGL Chan视频学习-8 How I Deal with Shaders in OpenGL
  • 深入理解设计模式之状态模式