poj 1915/2243 bfs(马走日)

JHU ICBM DTI Atlas纤维束模板介绍 JHU ICBM DTI atlas 纤维束的定位与功能介绍 阅读详情

题意:给定一个n*n的棋盘,一个起点坐标,一个终点坐标。问从起点“走日”到终点的最少步数。走日即象棋里的马走日。(2243题意完全相同,只不过棋盘限制在8*8)

思路:bfs水题。

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <queue>
#include <cstdlib>
using namespace std;
#define clc(s,t) memset(s,t,sizeof(s))
#define INF 0x3fffffff
#define N 305
int s[N][N],flag[N][N];
int T,n;
int a,b,x,y;
int ori[8][2] = {{-2,-1},{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2}};
struct node{
    int x,y,t;
    node(int xx,int yy,int tt):x(xx),y(yy),t(tt){};
};
queue<struct node>q;
int check(int x,int y){
    return x>=0&&y>=0&&x<n&&y<n;
}
int bfs(){
    while(!q.empty()){
        struct node now = q.front();
        q.pop();
        if(now.x == x && now.y == y)
            return now.t;
        for(int i = 0;i<8;i++){
            int xx = now.x+ori[i][0];
            int yy = now.y+ori[i][1];
            if(check(xx, yy) && !flag[xx][yy]){
                q.push(node(xx,yy,now.t+1));
                flag[xx][yy] = 1;
            }
        }
    }
    return -1;
}
int main(){
    scanf("%d",&T);
    while(T--){
        while (!q.empty())
            q.pop();
        clc(flag, 0);
        scanf("%d",&n);
        scanf("%d %d %d %d",&a,&b,&x,&y);
        q.push(node(a,b,0));
        flag[a][b] = 1;
        printf("%d\n",bfs());
    }
    return 0;
}


AutoSAR系列讲解(入门篇)2.1-AppL概述 该章主要是讲解SWC是如何在ECU中分布的 阅读详情

相关推荐

linux虚拟机和电脑ping通(可上网)

linux虚拟机(Ubuntu)和电脑ping通。

观则明的博客 4117

棋盘游戏

棋盘游戏 题目描述 现有一新型的棋盘游戏。棋盘大小为N*N,棋盘中有M个棋子,棋子每步可以往上下 左右移动一步,每个棋子必须按顺序移动到一个给定的出口点,且棋子之间永远不 能相邻,求移动完所有棋子的最小步数。 输入 输入数据的第一行是两个整数N,M,表示棋盘大小为N*N,和棋子个数M。 接下来有N行,每行N个数,x表示出口,o表示空地,1~M表示棋子,棋子1号棋子必须最先离开棋盘,2号其次,以此类推。 输出 输出一个数,即移动完所有棋子的最小步数,如果不能移动完则输出-1。 输入样例1 3 2 x2o

Old flame.Scar 781

避坑指南:麒麟系统ARM架构下PostGIS离线安装常见问题解析

本文深度解析了在国产麒麟系统ARM64架构下进行PostGIS离线安装的完整路径与核心避坑点。通过对比Docker容器化与源码编译两种部署方式的优劣,详细阐述了离线Docker环境搭建、ARM64镜像获取验证、容器化配置及常见故障排查的全流程,为在特殊环境下稳定部署空间数据库提供了一套可靠的实践指南。

Python的专栏 287

象棋盘上的最短路径问题(C语言)

问题 H: 残缺的棋盘 在国际象棋里,王是最重要的一个棋子。每一步,王可以往上下左右或者对角线方向移动一步,如下图所示。 给定两个格子 A(r1,c1), B(r2,c2),你的任务是计算出一个王从 A 到 B 至少需要走多少步。为了避免题目太简单,我们从棋盘里拿掉了一个格子 C(r3,c3)(ABC 保证互不相同),要求王从 A走到 B 的过程中不能进入格子 C。在本题中,各行从上到下编号...

weixin_44237551的博客 3001

波束形成算法:LCMV实现(MATLAB)

阵列信号处理,波束成形,

weixin_43601588的博客 1万+

MATLAB/Simulink BLDC电机控制模型搭建:六步换相与速度环实战

无刷直流电机(BLDC)控制是电机驱动领域的核心技术,其六步换相原理通过霍尔信号控制逆变器开关,使定子磁场与转子磁场保持垂直以产生最大转矩。在MATLAB/Simulink中搭建BLDC控制系统,需从电机本体建模入手,结合PWM占空比调节和速度环PI控制器,实现速度闭环与波形观测。该技术广泛应用于电动工具、无人机电调和伺服驱动器等场景。本文详细解析BLDC六步换相逻辑、反电动势建模及Simulink分层设计方法,帮助读者掌握从零搭建完整控制模型的工程实践。

weixin_28273593的博客 207

6999 象走田

描述大家知道下棋是很考验脑力的一项运动,小童和小程在一次下棋中突发奇想,计划来一次脑力和计算机的比拼。规则是这样的:n×n 的棋盘上给出起点和终点,计算从起点至终点最少走几步。小童使用脑力,小程使用计算机。棋子只有一枚,可以按照象走田的规则移动,从当前位置移到相邻的 4 个区域。请你协助小程计算最少走几步。如果不能走到终点,请输出 −1。输入描述第一行一个整数 n,表示棋盘的大小。棋盘行列编号从 1 开始。第二行四个整数 sx,sy,ex,ey。

2401_86852582的博客 897

【STM32Cube_14】使用硬件I2C读写环境光强度传感器(BH1750)

本篇详细的记录了如何使用STM32CubeMX配置STM32L431RCT6的硬件I2C外设读取环境光强度传感器数据(BH1750)

Mculover666的博客(嵌入式) 7242

How many ways

这是一个简单的生存游戏,你控制一个机器人从一个棋盘的起始点(1,1)走到棋盘的终点(n,m)。游戏的规则描述如下: 1.机器人一开始在棋盘的起始点并有起始点所标有的能量。 2.机器人只能向右或者向下走,并且每走一步消耗一单位能量。 3.机器人不能在原地停留。 4.当机器人选择了一条可行路径后,当他走到这条路径的终点时,他将只有终点所标记的能量。 如上图,机器人一开始在(1,1)点,并拥有4单位...

li_wen_zhuo的博客 550

YOLO26全网首发:CVPR2026 FAA| 解决YOLO Neck跨尺度方向冲突--- FAAFusion频域对齐融合模块 | 暴力涨点篇

本文改进:FAAFusion引入YOLO neck ,代替nn.Upsample和Concat

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 644

芒果YOLOv11改进175:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

芒果YOLOv11改进:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1297

BFS入门题 求从起点到终点所需的最少步数

【代码】BFS入门题 求从起点到终点所需的最少步数。

2401_85315388的博客 163

【现代人形机器人:从物理建模到大模型驱动的控制与学习】第1章 机器人建模回顾

本章建立读者进行后续控制 / 优化 / 学习工作的数学与计算基础。内容分为三大块:刚体运动学:位姿表示、坐标变换、旋转参数与李代数/李群(指数映射、twist)多关节机构的正/逆运动学:DH 与 POE 两种建模、雅可比矩阵推导、数值/解析逆解方法与奇异性问题约束动力学:拉格朗日公式、牛顿—欧拉递归算法、接触/冲击模型、受约束系统的方程(拉格朗日乘子与互补性条件)每一节同时给出与练习题。假设读者已具备线性代数(矩阵、特征分解、SVD)、多变量微积分与基础力学(牛顿第二定律)知识。

u012133341的博客 185

poj2243+poj1915骑士问题

2243是骑士问题,八个格子的,BFS,因为要最短路经,所以没有用A*,A*跑不出来,太慢了,因为要搜索到所有解啊!一直更新最优,而BFS,一层一层搜索,第一次得到的便是最短的了!300格子,标记的话,BFS遍历所有时间复杂度也算可以!500MS过!稍微剪枝即可!时间注意!要标记每层已经走过的情况时候要在入队的时候标记!大大降低复杂度!因为出队的时候,有些已经在队里了,但是还没有被标记,现在又让他

天羽屠龙舞 840

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

poj 1915&&poj 2243 Knight Moves (bfs搜索)

Knight Moves Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 21919   Accepted: 10223 Description Background  Mr Somurolov, fabulous chess-gamer indeed, asse

Just do it ! 1618

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

POJ 1915

和POJ2243几乎一样,只是棋盘宽度可以任意变换。

tanmlh的专栏 633

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

poj 1915-BFS

http://poj.org/problem?id=1915

u011964544的专栏 347

poj1915 & poj2243 Knight Moves

题意是:搜索骑士在棋盘上从起点到终点所走的最短步数,注意的是骑士不是一格一格走的,而是跨各走的;思路: 就是广度优先搜索bfs,主要是找到骑士的走法        int D[8][2] = {{-2,-1},{-1,-2},{1,-2},{2,-1},{-2,1},{-1,2},{1,2},{2,1}};  poj1915代码…… #include#includeus

弓虽子 1133

POJ 1915 Knight Moves

题目大意: 题目链接 注释代码: 无注释代码: #include #include #include #include #define MAXN 300 using namespace std; struct Point { short x, y; short stp; Point(void) {} Point( short xx, short yy,

源代码 468

POJ 2243解题报告

#include #include using namespace std; bool checked[64]; //int xstep[8] = {-1, -2, -2, -1, 1, 2, 2, 1}; //int ystep[8] = {-2, -1, 1, 2, -2, -1, 1, 2}; int knightmove(int sx, int sy, int ex, int e

thestoryofsnow的专栏 536

1poj2243(bfs)

http://poj.org/problem?id=2243 Knight Moves Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8713 Accepted: 4999 Description A friend of you is doing research on the Traveling Kn

ZhouRush 655

poj 2243 bfs(还是骑士移动)

这道题跟 1915 是一样的,通过这道题主要学习了 从字符串中分离出字母和数字的方法。 #include #include using namespace std; #define max 10 int dir[8][2]={{-2,1},{-1,2},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1}}; int vis[max][max],step[max][

丿聪丶 621

POJ2243

摘要:和1915是一样的题目#include #include using namespace std;typedef struct Node{    int x;    int y;    int dist;}Node;queue q;Node start;Node finish;int length = 8;const int s

hongshundi的专栏 793

POJ 1915-Knight Moves(BFS-跳马)

Knight Moves Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 26034   Accepted: 12276 Description Background  Mr Somurolov, fabulous chess-gamer indeed, asse

Some. 671

POJ-1915 Knight Moves

Knight Moves Time Limit: 1000MS   Memory Limit: 30000K   Description Background Mr Somurolov, fabulous chess-gamer indeed, asserts that no one else but him can move knig

JSure的代码库 999

poj 2243 Knight Moves

//这题和1915是一样的题目,只不过这题的输入需要进行转换,还有这题没有给出具体的棋盘和棋子的 //走法,如果对国际象棋不熟悉的人来讲,是很难读得明白题意的,棋盘和棋子的走法可以参照1915题! #include #include #include using namespace std; const int MAX = 15; map m; string input1, inpu

yzl_rex 965
上一篇: poj 1844 数学(1+/- ... k)
下一篇: poj 2985 树状数组+并查集(第k大组数)
dumeichen
博客等级 码龄13年 55粉丝 475原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值