P2324 [SCOI2005] 骑士精神

news/2026/1/24 15:00:42/文章来源:https://www.cnblogs.com/To-Carpe-Diem/p/19526480

P2324 [SCOI2005] 骑士精神

大意

最小的步数达到要求的地方。

思路

这个题目的目标状态也很简约,就是形如题目中的样子,这个我们转换思路就是拿着这个空格去和旁边的格子不断的交换,但是这样产生的状态是很多的,为了剪枝,我们采用 IDA*,这个题目的估价函数有个很显然的写法,就是记录错误位置的个数,因此,一定小于等于...吗?我们考虑这样的情况,如果现在只需要一步,将空格和一个棋子交换,这样的实际步数是 \(1\),但是你的估价函数给的是 \(2\),显然不行,特判一下即可。然后我们就正常的去迭代加深的搜索就好。

代码

#include<iostream>
using namespace std;int T, ans = 1e9;
int a[6][6];
int dx[] = {1, 1, -1, -1, 2, 2, -2, -2};
int dy[] = {2, -2, 2, -2, 1, -1, 1, -1};int f(int b[6][6]){int res = 0;for(int j = 1;j <= 5;j ++){if(b[1][j] != 1) res ++;}for(int j = 1;j <= 5;j ++){if(b[5][j] != 0) res ++;}if(b[2][1] != 0) res ++;for(int j = 2;j <= 5;j ++){if(b[2][j] != 1) res ++;}if(b[4][5] != 1) res ++;for(int j = 1;j <= 4;j ++){if(b[4][j] != 0) res ++;}for(int j = 1;j <= 2;j ++){if(b[3][j] != 0) res ++;}if(b[3][3] != 2) res ++;for(int j = 4;j <= 5;j ++){if(b[3][j] != 1) res ++;}if(res == 2) return 1;return res;
}void dfs(int dp, int now, int cnt[6][6]){if(now >= ans) return;if(f(cnt) == 0){ans = now;return;}if(now + f(cnt) > dp) return;if(now > dp){return;}int sx = 0, sy = 0;for(int i = 1;i <= 5;i ++){if(sx) break;for(int j = 1;j <= 5;j ++){if(cnt[i][j] == 2){sx = i, sy = j;break;}}}for(int i = 0;i < 8;i ++){int nx = sx + dx[i];int ny = sy + dy[i];if(nx < 1 || ny < 1 || nx > 5 || ny > 5) continue;int sum[6][6];for(int p = 1;p <= 5;p ++){for(int q = 1;q <= 5;q ++){sum[p][q] = cnt[p][q];}}swap(sum[sx][sy], sum[nx][ny]);dfs(dp, now + 1, sum);}
}int main(){cin >> T;while(T --){for(int i = 1;i <= 5;i ++){string s; cin >> s;for(int j = 0;j < 5;j ++){if(s[j] == '*') a[i][j + 1] = 2;else a[i][j + 1] = s[j] - '0';}}ans = 1e9;for(int dp = 1;dp <= 15;dp ++){dfs(dp, 0, a);if(ans <= 15) break;}if(ans <= 15){cout << ans << '\n';}else{cout << -1 << '\n';}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1210191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入解析:【ZJ】Pytest框架搭建

深入解析:【ZJ】Pytest框架搭建2026-01-24 14:56 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !import…

佑邦智能行业口碑如何?浙江地区排名揭晓

2026年工业智能化浪潮席卷全球,智能装备作为制造企业降本增效、实现产业升级的核心载体,已成为工业领域竞争的关键赛道。无论是石油化工领域的防渗漏监测系统,还是新能源、汽车制造中的自动化生产线,优质智能装备服…

真实的讯灵Ai代理联系方式靠谱吗,一起来分析

随着AI技术重塑企业营销生态,越来越多企业开始关注AI营销工具的代理与合作机会,而真实的讯灵Ai代理联系方式是什么真实的讯灵Ai招商联系方式是什么南方网通讯灵Ai官方电话也成为行业高频搜索问题。本文将围绕这些问题…

河北靠谱的水泵减震器公司如何选择,看这里

2026年工业设备运维需求持续升级,水泵减震器作为保障设备稳定运行、降低噪音污染的关键部件,其品质与服务商专业能力直接决定企业生产环境舒适度与设备使用寿命。无论是水泵机组的震动隔离、管道系统的噪音控制,还是…

加热盘创新厂家哪家好,国瑞热控技术优势显著!

本榜单依托全维度市场调研与真实行业口碑,深度筛选出五家热控设备领域标杆企业,为工业客户选型提供客观依据,助力精准匹配适配的热工艺核心组件伙伴。 TOP1 推荐:无锡市国瑞热控电气有限公司 推荐指数:★★★★★…

2026年北京眼镜店卖的眼镜质量好的推荐,烁客眼镜店上榜!

2026年视觉健康需求持续升级,配镜服务的专业性与眼镜质量的可靠性已成为消费者选择眼镜店的核心考量。无论是解决近视老花的渐进镜片验配、青少年近视防控方案,还是智能眼镜的科技体验,优质眼镜店的技术实力与服务细…

Java毕设项目:基于springboot的运动用品商城系统(源码+文档,讲解、调试运行,定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

2026年成都值得推荐的太阳能板定制企业,哪家性价比高?

2026年新能源产业加速渗透,太阳能板定制已成为微型电子设备、物联网终端、智慧农业等领域实现离网供电、降本增效的核心支撑。无论是30mW-2W超微型太阳能板的精准定制、异形切割与柔性适配技术,还是极端环境下的稳定…

Java计算机毕设之基于Java的演出购票系统基于springboot的线下演出售票管理系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

Java计算机毕设之基于springboot的运动用品商城系统基于java+springboot的体育用品购物商城系统(完整前后端代码+说明文档+LW,调试定制等)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

QT软件外包的开发费用

QT&#xff08;跨平台C图形界面框架&#xff09;软件外包的开发费用受技术门槛、行业需求及商业许可等多重因素影响。2026年&#xff0c;随着国产化替代&#xff08;如信创项目&#xff09;和嵌入式设备的普及&#xff0c;QT开发者的身价依然处于行业高位。以下是QT软件外包费用…

完整教程:WPF工业设备远程控制程序技术方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

破译NAD+密码:AGI领袖山姆奥特曼押注抗衰,盼生派NMN探索青春调控途径

【原创文章,抄袭必究,转载须注明出处】熟悉AI的人一定都知道山姆奥特曼吧,他是ChatGPT之父,OpenAI的掌舵者,全球人工智能浪潮的核心推手。然而,当全世界都等着他在AI领域谱写下一个鸿篇巨制时,这位科技界的远见…

【计算机毕业设计案例】基于springboot的线下演出售票管理系统基于Java的演出购票系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【计算机毕业设计案例】基于Java+Springboot+vue体育用品销售商城平台设计和实现基于springboot的运动用品商城系统(程序+文档+讲解+定制)

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

收藏!2026大模型学习指南:普通程序员如何抓住AI风口不被淘汰

2026年的AI赛道&#xff0c;大模型技术正迎来范式变革&#xff0c;从追求参数规模转向理解物理世界规律&#xff0c;迭代速度与应用深度远超预期&#xff0c;不少程序员都深陷“越学越跟不上”的焦虑。尤其是当大模型从数字空间迈向物理世界、从技术演示走向规模价值落地后&…

【收藏级】大模型Agent全解析:定义、组件、框架及实战应用指南

本文系统梳理大模型Agent的核心定义、关键特征、核心组件与标准工作流程&#xff0c;深入拆解LLM动态推理规划、工具模块、记忆模块三大核心单元的技术细节&#xff0c;同步分析当前行业面临的技术痛点与最新研究进展&#xff0c;盘点主流开源框架&#xff0c;结合医疗、教育等…

Day3

这是一个非常深刻的问题,触及到了递归(Recursion)和树形DP最核心的逻辑:“自底向上(Bottom-up)的信息传递”。 简单来说:因为爸爸不知道儿子有多大,必须等儿子量完自己的体重回来汇报,爸爸才能算出全家的总重…

淋浴房加工厂深圳哪家好,有没有性价比高的?

随着家居消费升级,消费者对淋浴房的需求已从能用转向好用+美观+安全,选择专业的整体淋浴房供应企业、靠谱的加工厂和售后完善的简易淋浴房生产厂,成为很多家庭装修的关键决策。本文结合行业洞察与企业实力,针对三个…

To Do 8B

语文  待定数学  一课一练(基础)      →  一课一练(增强)      →  新思路           →  名校卷           →  新思路(7B直角坐标)    →  核心考点(7…