(bzoj 1085 [SCOI2005]骑士精神)<A*>

RK3588与银河麒麟V10 SP1 2403深度适配:国产化硬件与操作系统的完美融合 本文深入探讨了RK3588处理器与银河麒麟V10 SP1 2403操作系统的深度适配,展示了国产化硬件与操作系统的完美融合。通过性能验证和实际应用测试,证明了这套组合在多媒体处理、AI推理和日常办公中的卓越表现,实现了完全自主可控的计算平台。 阅读详情

传送门


Solution

  • 既然图中只有一个空格,那么任何一个骑士如果移动,都只会移动到空格中
  • 每一次移动最多使一个点达到目标状态(其实并不准确)
  • 因此推出:保证目标位置的骑士(包括空格)的数量=最少需要移动的步数
  • dfs之前可以先算一下最少需要移动的步数,如果这个步数+已经移动的步数>期望的步数,说明这种移动的策略不可行(A*的预估函数)

Code

// by spli
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;

const int g[6][6]={
0,0,0,0,0,0,
0,1,1,1,1,1,
0,-1,1,1,1,1,
0,-1,-1,2,1,1,
0,-1,-1,-1,-1,1,
0,-1,-1,-1,-1,-1
};
int T;
int xa,ya;
int mx[9]={0,1,1,2,2,-1,-1,-2,-2};
int my[9]={0,2,-2,1,-1,2,-2,1,-1};
bool ans;

bool ck(int a[6][6]){
    for(int i=1;i<=5;++i)
        for(int j=1;j<=5;++j)
            if(a[i][j]!=g[i][j]) return 0;
    return 1;
}

bool cnt(int t,int tim,int a[6][6]){
    int b=0;
    for(int i=1;i<=5;++i)
        for(int j=1;j<=5;++j){
            if(a[i][j]!=g[i][j]) b++;
            if(b+t>tim) return 0;
        }
    return 1;
}

void dfs(int x,int y,int t,int tim,int a[6][6]){
    if(t==tim){
        if(ck(a)) ans=1;
        return;
    }
    if(ans) return;
    int kx,ky;
    for(int i=1;i<=8;++i){
        kx=x+mx[i];
        ky=y+my[i];
        if(kx<1||kx>5||ky<1||ky>5) continue;
        swap(a[x][y],a[kx][ky]);
        if(cnt(t,tim,a)) dfs(kx,ky,t+1,tim,a);
        swap(a[x][y],a[kx][ky]);
    }
}

int main(){
    scanf("%d",&T);
    while(T--){
        char s[10];
        int a[6][6];
        for(int i=1;i<=5;++i){
            scanf("%s",s+1);
            for(int j=1;j<=5;++j){
                if(s[j]=='*'){
                    xa=i;ya=j;a[i][j]=2;
                }
                if(s[j]=='0') a[i][j]=-1;
                if(s[j]=='1') a[i][j]=1;
            }
        }
        ans=0;
        for(int i=0;i<=15;++i){
            dfs(xa,ya,0,i,a);
            if(ans){
                printf("%d\n",i);
                break;
            }
        }
        if(!ans) printf("-1\n");
    }
    return 0;
}
[AI] 嵌入模型选择:bge / text-embedding-3 / Jina Embeddings 对比与选型指南 摘要: 本文对比了BGE-M3、OpenAI和Jina三种主流嵌入模型在语言覆盖、性能、延迟、维度和成本等维度的差异。BGE-M3适合中文场景,本地部署成本低;OpenAI API多语能力强但依赖网络;Jina在多语表现突出但需关注商用许可。测试显示BGE-M3本地延迟3-6ms,OpenAI API延迟200-600ms。选型建议:隐私场景选BGE本地部署,多语低维护选OpenAI,高精度选Jina。部署时需注意批处理优化、向量库压缩和商用许可等问题,建议建立评测指标并监控关键指标。 阅读详情

相关推荐

1976国际标准大气_Matlab

输入高度,计算空气密度、气压、温度、声速 function [airDens,airPress,temp,soundSpeed]=Atmos(geomAlt) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 1976 U.S Standard Atmosphere Interpolation % % Note: Function does not extr.

JISANSAN的博客 1万+

骑士精神

描述 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成任务。 输入 第一行有一个正整数T(T<=10),表示一共有N组数据。接下来有

blue_kid的博客 551

二叉树的操作之统计二叉树中节点的个数

一,问题描述 给定一颗二叉树,已知其根结点。 ①计算二叉树所有结点的个数 ②计算二叉树中叶子结点的个数 ③计算二叉树中满节点(度为2)的个数   二,算法分析 找出各个问题的基准条件,然后采用递归的方式实现。 ①计算二叉树所有结点的个数 1)当树为空时,结点个数为0,否则为根节点个数 加上 根的左子树中节点个数 再加上 根的右子树中节点的个数 借助遍历二叉树的思路,每访问一个结...

weixin_34200628的博客 4568

骑士精神 (HYSBZ - 1085 ,简单 A* 暴搜)

一.题目链接: HYSBZ-1085 二.题目大意: 直接看题目,懒得解释. 三.分析: 其实就是一个简单 A* 搜索 的板子 为了方便,分析就写注释里了. 四.代码实现: #include <set> #include <map> #include <ctime> #include <queue> #include <cma...

The___Flash的博客 325

告别C盘爆红!手把手教你将WSL2下的Ubuntu 22.04完整迁移到D盘(附清理指南)

本文详细指导如何将WSL2下的Ubuntu 22.04从C盘无损迁移到D盘,包括导出备份、注销原系统、导入新位置等关键步骤,并提供迁移后的优化配置、开发环境衔接及长期维护技巧,帮助用户彻底解决C盘空间不足问题。

weixin_28698059的博客 474

别再手动找触点了!EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战

本文详细解析EPLAN线圈触点映像的3种显示方式与F键/Ctrl+B快捷键实战技巧,帮助电气设计工程师提升图纸操作效率。通过精简编号、路径栏显示和元件旁可视化三种模式的应用场景对比,结合快捷键肌肉记忆训练法,实现触点快速定位与管理,大幅减少手动查找时间。

weixin_42522964的博客 481

[bzoj1085][SCOI2005]骑士精神【暴力】

【题目链接】   http://www.lydsy.com/JudgeOnline/problem.php?id=1085 【题解】   dfs+剪枝即可。   剪枝的方法是,若当前状态与目标状态有kkk个不同。那么至少还要使用k−1k−1k-1步。若当前步数+k−1≥当前步数+k−1≥当前步数+k-1\geq ans则直接退出。    /* -------------- ...

D_Vanisher的博客 351

RAG项目简历包装指南:从“流水线工人”到“问题解决者”的跃迁(附代码与思路)

本文代码已在Python 3.11 + CUDA 12.3环境测试,部分功能需LangChain 0.2+支持。

Conan_0728的博客 1885

BZOJ1085&&洛谷P2324骑士精神

中文题意不再赘述这是一道非常好的入门水题博主用的IDA*,因为题目中给了最大搜索深度,讲一讲做法先预处理一个end数组,代表地图最后要形成的样子,白旗为1,黑棋为0,空格为2然后模拟每个棋子向八个方向跳能不能跳到空格,这些都很容易想,但也容易超时所以我们要想剪枝我们不难发现,一次只能跳一个棋子,并且只会影响该棋子与空格的位置,那么我们在开始搜索前判断一下当前图中有多少棋子没有归位,那么我们就最少需...

AcerMoOi之路 490

【软件系统架构】系列四:嵌入式技术

嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁剪的软硬件集成于一体的专用计算机系统。它需要满足功能、可靠性、成本、体积、功耗等方面的严格要求。 嵌入式系统一般由以下组成部分构成:

moton2017的博客 1000

基于泰勒展开改进的物理信息神经网络

基于泰勒展开改进的物理信息神经网络

天天酷科研的博客 504

1085: [SCOI2005]骑士精神

1085: [SCOI2005]骑士精神 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 534  Solved: 280 [Submit][Status] Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相

SKY的C 2594

道威棱镜的设计参考

道威棱镜的设计参考

weixin_72050316的博客 383

【BZOJ1085】[SCOI2005]骑士精神 双向BFS

【BZOJ1085】[SCOI2005]骑士精神 Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少...

aodanchui1057的博客 113

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

BZOJ_1085_[SCOI2005]骑士精神_IDDFS

BZOJ_1085_[SCOI2005]骑士精神_DFS Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神...

162

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【bzoj1085】【SCOI2005】【骑士精神】【IDA*】

Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成任务。 Input 第一行有一个正整数T

sunshinezff的专栏 1958

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Bzoj 1085: [SCOI2005]骑士精神 (dfs)

Bzoj 1085: [SCOI2005]骑士精神 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1085 dfs + 剪枝. 剪枝方法: 1.每次交换只能改变一个位置.若发现之间相差的步数加上以前走的步数大于15的话,直接舍弃这一状态. 2.初始时,\(ans\)设为\(16\) 有了上面两个剪枝就A了. 照这节奏,SCOI...

dieloupi0136的博客 155

BZOJ 1085: [SCOI2005]骑士精神

Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成任务。 Input 第一行有一个正整

jjs98 1872

BZOJ 1085: [SCOI2005]骑士精神【A*】

1085: [SCOI2005]骑士精神 Time Limit: 10 Sec Memory Limit: 162 MB Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的...

aiweiluan5095的博客 137

【BZOJ 1085】[SCOI 2005] 骑士精神(IDA*搜索,双向BFS)

目录题目DescriptionInputOutputSample InputSample Output思路1、双向bfs2、IDA*搜索IDDFSA*两种算法合并代码双向bfsIDA*搜索 题目 Description 在一个 5×55 \times 55×5 的棋盘上有 121212 个白色的骑士和 121212 个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和...

t14 的博客 844

BZOJ1085. [SCOI2005]骑士精神(IDA*算法)

Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步 数完成任务。 Input   第一行有一个正整数T(T&l...

tomjobs的博客 555

【IDA* 模板】【SCOI2005】洛谷p2324 BZOJ1085 骑士精神

洛谷P2324 bzoj 1085 弱弱地说一句,这里复制使用的是bzoj的题干,因为洛谷上是个图片QAQ (逃 Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋盘,怎样才能经过...

qq_43398760的博客 286

bzoj 1085[SCOI2005]骑士精神 - IDA*

1085: [SCOI2005]骑士精神 Time Limit:10 SecMemory Limit:162 MB Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初...

152

BZOJ1085 SCOI2005 骑士精神【IDA* 启发式迭代加深】

BZOJ1085 SCOI2005 骑士精神 Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成...

Dream_maker的博客 389

BZOJ【1085】骑士精神

1085: [SCOI2005]骑士精神 Time Limit: 10 Sec Memory Limit: 162 MB Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空 位上。 给定一个初始的棋

LJH_KOQI的博客 621

【bzoj1085】[SCOI2005]骑士精神

1085: [SCOI2005]骑士精神 Time Limit:10 SecMemory Limit:162 MBSubmit:1757Solved:961[Submit][Status][Discuss] Description   在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和...

anzhi7214的博客 84
上一篇: (poj 2449 Remmarguts' Date)<A*-K短路模板>
下一篇: <模板>计算SG函数-(hdu 1848 Fibonacci again and again)
SDFZspli
博客等级 码龄10年 17粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值