P2324 [SCOI2005] 骑士精神

2024-09-02 01:36
文章标签 p2324 scoi2005 骑士 精神

本文主要是介绍P2324 [SCOI2005] 骑士精神,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

*原题链接*

T组测试数据,每组数据给定5x5的矩阵,求将其变为目标矩阵的最小步数。

做法:IDA*

分析:看到这样的数据范围和题目描述就可以想到搜索了,由于任何时候矩阵中只有一个空格,所以我们从空格开始进行搜索,看哪个骑士能转移到这个空格上。由于步数超过15步后输出-1,所以可以迭代加深搜索,但是这样爆搜后交上去会T,所以考虑如何优化。剪枝是剪不了的(至少我没想到哪里可以剪枝),既然已经是迭代加深搜索了,那再考虑一下估价函数,变为IDA*,就能得到很大优化了,而估价函数也不难想,如果我们每次移动都能使一个骑士移到目标格子,那样的花费显然是最少的(具体见代码)。

#include<bits/stdc++.h>
using namespace std;
const int N=10;int T,mp[N][N],st,en,maxdeep,flag;
int dx[]={2,2,-2,-2,1,1,-1,-1};
int dy[]={1,-1,1,-1,2,-2,2,-2};
int goal[N][N]={{0,0,0,0,0,0},{0,1,1,1,1,1},{0,0,1,1,1,1},{0,0,0,2,1,1},{0,0,0,0,0,1},{0,0,0,0,0,0}
};//目标矩阵int evaluate(){//估价函数,每次移动都能把不在目标格子上的骑士移到目标格子,花费是最少的int cnt=0;for(int i=1;i<=5;i++)for(int j=1;j<=5;j++)if(mp[i][j]!=goal[i][j]) cnt++;return cnt;
}void dfs(int x,int y,int dep){//IDA*if(dep==maxdeep){if(!evaluate()) flag=1;return;}for(int i=0;i<8;i++){int nx=x+dx[i],ny=y+dy[i];if(nx<1||ny<1||nx>5||ny>5) continue;swap(mp[x][y],mp[nx][ny]);int eva=evaluate();if(eva+dep<=maxdeep) dfs(nx,ny,dep+1);swap(mp[x][y],mp[nx][ny]);}
}int main(){ios::sync_with_stdio(false);cin>>T;while(T--){flag=0;for(int i=1;i<=5;i++){for(int j=1;j<=5;j++){char ch;cin>>ch;if(ch=='*') mp[i][j]=2,st=i,en=j;else mp[i][j]=ch-'0';}}for(maxdeep=0;maxdeep<=15;maxdeep++){dfs(st,en,0);if(flag){cout<<maxdeep<<endl;break;}}if(!flag) cout<<-1<<endl;}return 0;
}

这篇关于P2324 [SCOI2005] 骑士精神的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128624

相关文章

传承民族英雄精神 共筑两岸文化桥梁 《郑成功》动漫电影研讨会在北京台湾会馆举行

2024年8月26日上午,一场以《郑成功》动漫电影的时代意义和文化价值为主题的研讨会在北京台湾会馆隆重举行。 1962年,郭沫若先生写出了他平生唯一的电影剧本《郑成功》,在生动揭示了台湾是中国固有领土的同时,高度评价了郑成功开辟荆榛、驱除荷虏的千秋功业。在民族英雄郑成功诞辰400周年的前夕,为了弘扬中华民族精神,筑牢两岸精神家园。会议聚焦如何更好地以动漫电影的形式把郭沫若的这一作品搬上银

每日思考第 63 期:物理空间限制精神世界的发展

每日思考专栏每周日更新,本期覆盖 20210125~20210131。 210125:尝试获得更优解 【尝试获得更优解】 很久前和跨团队的一个同事聊方案时,他表达的方式是这样子的:对于这个事情,我的解题思路是xxx。解题这两个字,给我留下了深刻印象。 我们遇到的事情就像一道题目,可能是单选题,可能是多选题,可能是填空题,也可能是简答题。 面对这些形式多样,难易不一的题目,我们求解的方式,也

互联网精神:网易养猪,歇会儿网找活动

最近网易养猪又开始受到大篇幅报道,这件事情似乎有点陈旧,很早就听说,隔几年再拿出来说,没别的意思,只是觉得很受网易这种要用互联网形式颠覆传统行业,改变传统行业低效、各种弊端的精神。说起互联网精神,来势汹汹,没几年就奠定了在大众心中的美好印象。         有了QQ微信,短信电话等传统的通讯不再显得不可或缺;在线教育,资源全世界共享,这里是真正的地球村;购物不出家门半步就能买

重生奇迹MU敏捷流梦幻骑士

“梦幻骑士”这个职业已经存在于重生奇迹MU中很长时间了,虽然现在已经不算是新职业了,但玩家们对于梦幻骑士的研究和开发一直没有停止过。它作为一个特殊的职业,与传统职业截然不同,拥有着许多独特的玩法。其中,有一种玩法是所有平民玩家的最爱。 敏捷流是目前普遍受欢迎的幻想骑士游戏职业,尤其适合平民玩家选择。它不需要过多的资金投入,只需要将大部分升级点数分配到“敏捷”属性即可。但是,它却能带给玩家出乎意料

江西生物科技职业学院春雨宣讲团丨弘扬西柏坡精神,共绘时代新篇章

今年五月,江西生物科技职业学院春雨宣讲团获批共青团中央2024年全国大学生西柏坡精神志愿宣讲团之一。 秉承传承红色文化、弘扬西柏坡精神的崇高使命,该宣讲团成员自7月3日起至8月20日,踏上了深入江西省南昌市、九江市、景德镇市、吉安市等地的实践之旅,旨在将西柏坡精神的火种播撒至更广阔的土地,让红色基因在新时代焕发光彩,为社会发展注入青春活力。 在此期间,宣讲团成员们不畏酷暑,深入基层

《行进中国大运河篇》圆满收官 郭品超讲述运河精神展文化自信

昨日,山东卫视大型文化探访综艺节目《行进中国大运河篇》圆满收官。节目中,演员郭品超携手行进团成员张晓谦和俞庚寅,一同从杭州出发,沿着京杭大运河一路向北,途径江苏、山东,河南、河北、天津等多个省市,最终抵达北京。在这场跨越千里的文化之旅中,他们切身体会和学习了运河沿岸的多种非遗文化技艺,为观众呈现了一幅丰富多彩的运河文化长卷。 在为期数日的旅程中,郭品超与行进团成员北上途经十余座城市,每站

白骑士的计算机名词解析之各种“面向”

在软件开发领域,编程范式提供了构建和组织代码的多样化方法,帮助开发者更有效地解决问题、提升系统的质量和可维护性。在这些范式中,“面向”编程的概念尤为重要,它们从不同角度审视和优化程序设计的方式。无论是面向对象编程(OOP)、面向过程编程(POP),还是面向服务编程(SOP),这些不同的编程范式各具特色,满足了不同类型项目和需求的多样化要求。每种编程范式都有其独特的优点和应用场景,但

白骑士的HTML教学高级篇 3.3 SVG与Canvas

在现代网页开发中,矢量图形和动态绘图变得越来越重要。HTML5引入了两种强大的图形技术:SVG(Scalable Vector Graphics)和Canvas,它们分别适用于不同的绘图需求。SVG是一种基于XML的矢量图形标准,非常适合用于需要精确控制的可缩放图形;而Canvas则是一种基于像素的绘图技术,适合用于动态图形和动画。在本篇博客中,我们将探讨如何使用SVG和Canva

闷热烦躁,精神倦怠?3个食疗方,5款好物,助您清凉度夏~

夏日,阳气旺盛,万物繁荣秀丽,但赤日炎炎似火烧,人们容易闷热、食欲不佳、四肢倦怠、萎靡不振等,再加上蚊虫多,更是让人烦躁不安! 5款清凉好物 赶走蚊虫 天气炎热,蚊子、小虫都来了,防不胜防!这5款李良济清凉好物,可帮您远离蚊虫清爽度夏~ 1、驱蚊包 很多人都知道蚊香里不太安全的成分,给宝宝用,有点不放心,而且出门的话没办法携带。可以选择内包含的艾叶、金银花、广藿香,紫苏等芳香药物的李良济

读AI新生:破解人机共存密码笔记09精神安全权

1. 自动化史塔西 1.1. 作恶的创新也在快速发展 1.1.1. 心怀恶意的人们正在迅速地想出滥用人工智能的新方法 1.2. 史塔西(Stasi)是得意智皿煮国和共家国部全安更广为人知的名字,它被广泛认为是“有史以来最高效、最具性压镇的报情和秘密惊诧构机之一” 1.2.1. 保存着皿煮DE国绝大多数家庭的档案 1.2.2. 它的惯用手法是心理吓恐,而不是禁监或决处 1.2.3.