南阳oj-58 最少步数

图的深度优先搜索(DFS) 图的深度优先搜索 阅读详情

最少步数

南阳oj-58

简单的bfs题目

#include <stdio.h>
#include <string.h>

int map[9][9]={
    {1,1,1,1,1,1,1,1,1},
    {1,0,0,1,0,0,1,0,1},
    {1,0,0,1,1,0,0,0,1},
    {1,0,1,0,1,1,0,1,1},
    {1,0,0,0,0,1,0,0,1},
    {1,1,0,1,0,1,0,0,1},
    {1,1,0,1,0,1,0,0,1},
    {1,1,0,1,0,0,0,0,1},
    {1,1,1,1,1,1,1,1,1}
};

int visit[9][9], k;
int pre[1000];
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};

struct cam{
    int x;
    int y;
}list[1000];

int go(int x, int y)
{
    if(0 <= x && x < 9 && 0 <= y && y < 9 && map[x][y] == 0)
        return 1;
    return 0;
}

int print(int x, int sum)
{
    int t;
    t = pre[x];
    if(t != 0)
        return 1 + print(t, sum);
    else{
        return 1;
    }
}

void bfs()
{
    int l;
    int x1, y1, x2, y2, n;
    int head, tail;
    int x, y, xx, yy;
    scanf("%d", &n);
    while(n--){
        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
        if (x1 == x2 && y1 == y2){
            printf("0\n");
            continue;
        }
        memset(visit, 0, sizeof(visit));
        k = 0;
        head = 0;
        tail = 1;
        list[0].x = x1;
        list[0].y = y1;
        pre[0] = -1;
        while(head < tail){
            x = list[head].x;
            y = list[head].y;
            if(x == x2 && y == y2){
                l = print(head, 0);
                printf("%d\n", l);
                break;
            }
            for (int i = 0; i < 4; i++){
                xx = x + dir[i][0];
                yy = y + dir[i][1];
                if (!visit[xx][yy] && go(xx, yy)){
                    visit[xx][yy] = 1;
                    list[tail].x = xx;
                    list[tail].y = yy;
                    pre[tail] = head;
                    tail++;
                }
            }
            head++;
        }
    }
    return;
}

int main(void)
{
    bfs();
    return 0;
}
嵌入式系统启动流程解析:ROM Code、Bootloader与启动代码的协同工作 本文深入解析嵌入式系统从通电到运行的完整启动流程,详细阐述了ROM Code、Bootloader与启动代码三者如何像接力赛般协同工作。ROM Code作为芯片固化的初始引导程序,负责硬件自检并加载Bootloader;Bootloader作为系统总指挥,初始化关键硬件并加载操作系统内核;启动代码则为C语言运行环境铺平道路。理解这三者的分工与协作,是进行系统移植和解决启动问题的关键。 阅读详情

相关推荐

NHANES更新数据后,权重计算方式也更新了

官网说明在此:如果你比我还懒,我下载了几个说明文件。2021年8月至2023年8月的总样本量与之前的2年周期相似。然而,。特别是,与之前包括过度抽样的周期相比,非西班牙裔白人的样本量较高,而非西班牙裔黑人的样本量较低。此外,60岁及以上人群的样本量较高,而年轻群体的样本量较低。子组的估计值可能具有较低的精确度,因此,检测组间差异的统计能力可能较低。此外,年龄和种族/西班牙裔亚组(尤其是儿童和青少年年龄组)的估计值可能会显示意想不到的模式。

珏世佳人的博客 2409

南阳oj58最少步数

最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 这有一个迷宫,有0~8行和0~8列:  1,1,1,1,1,1,1,1,1  1,0,0,1,0,0,1,0,1  1,0,0,1,1,0,0,0,1  1,0,1,0,1,1,0,1,1  1,0,0,0,0,1,0,0,1  1,1,0,1,0,1,0,0,1

z2664836046的博客 400

kettle信息发送钉钉

由于其他的作业比较多,想要在job中加入一个转化发送消息到钉钉,其他的配置说明直接获取系统的信息。这样也避免直接修改其他的转换和大量的工作量。 步骤: 1、新建一个转换 拉取获取系统信息、获取变量、JavaScript代码、获取access_token组件。 2、获取系统信息设置 拿到需要的信息,比如作业的读写更新删除行数,job的日志内容 这个日志内容同在作业执行页面下输出的日志,所以可以在执行作业时选择是详细日志、基本日志还是错误日志。 3、获取变量 获取变量主要是想要去拿到job的名称,文件名。按

Deng_7788的博客 1445

南阳理工OJ_题目58 最少步数

#include #include #include using namespace std; int bfs(); struct data { int x; int y; int d; int vis; }; char ch[11][11] = { "111111111", "100100101",

心中有道的专栏 1079

蚁群算法(Ant Colony Optimization,ACO)讲解+代码实现

通常情况下,较优的解对应的路径上的信息素会被加强,而较差解对应的信息素则会减少或蒸发。的化学物质,这种物质会在蚂蚁走过的路径上留下痕迹,后续的蚂蚁会根据这些信息素的浓度来选择路径,从而形成一条从蚁巢到食物源的。在求解TSP蚁群算法中,每只蚂蚁相互独立,用于构造不同的路线,蚂蚁之间通过信息素进行交流,合作求解。的过程,该路段经过的蚂蚁越多,信息素留下的就越多,浓度越高,更多的蚂蚁都会选择这个路段。需要注意的是,蚁群算法是一种。(6)计算每只蚂蚁的总距离:遍历每只蚂蚁的路线,累加经过的城市之间的距离。

m0_73804764的博客 1万+

MySQL 8.0数据库崩了别慌!手把手教你仅凭一个.ibd文件找回数据(附Go工具包)

本文详细介绍了在MySQL 8.0数据库崩溃后,如何仅凭.ibd文件恢复数据的完整流程。通过使用Go语言工具包和ALTER TABLE技巧,即使没有备份也能实现数据重生。文章包含从环境准备到数据验证的全方位指导,帮助DBA和开发者应对紧急数据恢复场景。

weixin_29235923的博客 419

最少步数 南阳oj 58【DFS||BFS】

描述 这有一个迷宫,有0~8行和0~8列:  1,1,1,1,1,1,1,1,1  1,0,0,1,0,0,1,0,1  1,0,0,1,1,0,0,0,1  1,0,1,0,1,1,0,1,1  1,0,0,0,0,1,0,0,1  1,1,0,1,0,1,0,0,1  1,1,0,1,0,1,0,0,1  1,1,0,1,0,0,0,0,1  1,1,1,1,1,1

Determined&Diligent的专栏 508

lighttools用透镜旋转手动创建菲尼尔透镜

学过很多软件,都没有留下痕迹,很多年之后只记得学过的软件常用的一些功能,稍微难一些的再次用起需要重新学,但如果留下点痕迹,重新再用就会很快。lighttools无意之中接触了,记一点点笔记吧。...

kingsai2012的博客 4329

南阳OJ——58(最小步数,迷宫问题)

最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 输入 第一行输入一个整数n(0&lt;n&lt;=100),表示有n组测试数据; 随后n行,每行有四个整数a,b,c,d(0&lt;=a,b,c,d&lt;=8)分别表示起点的行、列,终点的行、列。 输出 输出最少走几步。 样例输入 2 3 1 5 7 3 1 6 7 样例输出 12 11...

cheerful_man的博客 313

深入解析DDR5 RFM机制:从JESD79-5标准到硬件实现

本文深入解析了DDR5内存标准中的关键机制——RFM(Refresh Management)。文章从JESD79-5标准出发,详细阐述了RFM如何通过RAA计数器实现从被动定时到主动响应的智能刷新管理,并探讨了其硬件实现细节、命令调度挑战及系统级设计考量,为芯片设计工程师优化DDR5内存子系统性能与可靠性提供了实践指导。

fff88的博客 486

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment)

本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。

Snu77的博客 3427

南阳oj 58 bfs入门

点击打开链接 最少步数 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 这有一个迷宫,有0~8行和0~8列:  1,1,1,1,1,1,1,1,1  1,0,0,1,0,0,1,0,1  1,0,0,1,1,0,0,0,1  1,0,1,0,1,1,0,1,1  1,0,0,0,0,1,0,0,1  1,1,0,1,0,

ccsu_cat 451

华为OD机试双机位C卷-敌情监控 (Py/Java/C/C++/Js/Go)

华为OD机试(机考)双机位C卷 【敌情监控】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试 - 敌情监控。

qq_45776114的博客 938

nyoj 58 最少步数 【BFS+优先队列】

最少步数 时间限制:3000 ms  |           内存限制:65535 KB 难度:4 描述 这有一个迷宫,有0~8行和0~8列: 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,

世界很大 731

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

南阳OJ 1170 最大的数

最大的数 时间限制:1000ms | 内存限制:65535KB 难度:3 描述 小明和小红在打赌说自己数学学的好,于是小花就给他们出题了,考考他们谁NB,题目是这样的给你N个数 在这n个数之间添加N-1个*或+,使结果最大,但不可以打乱原顺序,请得出这个结果 如 1 3 5 结果是(1+3)*5=20;最大 可以添加若干个括号,但一定要保证配对,但...

dcpvpf6917的博客 233

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

58同城2015校招笔试、一面、二面经历

原文:http://www.dy1280.com/thread-878-1-1.html 10.18 宣讲58宣讲时间真是安排的晚。。。19.30开始,我6.30就到了。。整整放了1个小时不重复的视频。。。。。我听完他们CSO对行业和公司的介绍就走了。感觉58可能是o2o的下一个爆发点。感觉蛮有前景的。宣讲会也是和小米的宣讲差不多,过道上都挤满了人这种。我个人还是比较些向往去58的。个人感觉对于...

weixin_30650859的博客 388

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

南阳理工 贪心 12 喷水装置(二)

喷水装置(二) 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿。 输入第一行输入一个正整数N表示共有n次测

linyuxilu的博客 908

南阳OJ-12-喷水装置(二)贪心+区间覆盖

题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=12 题目大意: 有一块草坪,横向长w,纵向长为h,在它的橫向中心线上不同位置处装有n(n<=10000)个点状的喷水装置,每个喷水装置i喷水的效果是让以它为中心半径为Ri的圆都被润湿。请在给出的喷水装置中选择尽量少的喷水装置,把整个草坪全部润湿。 传送门:喷水装置(一...

weixin_34256074的博客 204

南阳oj1100--WAJUEJI which home strong!(Bfs)

WAJUEJI which home strong! 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 在一个山沟里,姐弟俩同时考上了大学。但由于家里拮据,所以这并不是什么好消息。父亲对孩子说:我就是砸锅卖铁也要把你们姐俩供出来。当时的姐姐已经决定放弃上学的机会。没想到第二天天还没亮,弟弟就偷偷带著几件破衣服和几个乾巴馒头走了,在姐姐枕边...

weixin_33918357的博客 109

[南阳OJ-No.11]奇偶数分离|有一个整型偶数n(2<= n <=10000),:先把1到n中的所有奇数从小到大输出,再把所有的偶数从小到大输出

南阳OJ-No.11 时间限制:3000 ms | 内存限制:65535 KB 描述  有一个整型偶数n(2 输入 第一行有一个整数i(2 每组有一个整型偶数n。 输出 第一行输出所有的奇数 第二行输出所有的偶数 样例输入 2 10 14 样例输出 1 3 5 7 9 2 4 6 8 10 1 3 5 7 9

dj741的博客 5489

[南阳OJ-No.22]素数求和问题|现在给你N个数(0<N<1000),现在要求你写出一个程序,找出这N个数中的所有素数,并求和。

南阳OJ-No.22 时间限制3000ms,内存限制65535KB 描述 现在给你N个数(0 输入 第一行给出整数M(0 每组测试数据第一行给你N,代表该组测试数据的数量。 接下来的N个数为要测试的数据,每个数小于1000 输出 每组测试数据结果占一行,输出给出的测试数据的所有素数和 样例输入 3 5 1 2 3 4 5 8 11 12 1

dj741的博客 4536

关于各种排列(dfs)

代码一:数字有重复: 1 #include <cstdio> 2 int n,m,a[10],arr[10]={3,4,5,6}; 3 void dfs(int v){ 4 if(v >= n){ 5 for(int i = 0;i<n;i++) 6 printf("%d ",a[i]); 7 ...

weixin_30527143的博客 75

迷宫寻路三大算法(BFS,DFS,A*)

迷宫寻路 这是我们的数据结构作业本加我们自己再网上找算法记录下来,不过本人比较执着画了几天时间还是把这些算法自己写出来了。总得来说网上所说的大体算法应该就有三种(BFS,DFS,A*) 这里是一个验证网址是南阳OJ的一道题这是网址 http://acm.nyist.me/problem/58 好了不说废话开始吧 BFS 宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜...

Dog_dream的博客 2万+

NYOJ 238 小明的调查统计

题目238 题目信息 运行结果 本题排行 讨论区 小明的调查统计 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 最近小明他们社团对理工全校每个班级进行了一次社会调查,他们对每个人的体重进行了统计。现在小明的任务是记录每个班级最重的人的体重和最轻人的体重,并求每个班级的体重差(班级最重人体重-班级最轻人体重

69小石头的博客 581

NYOJ 238 小明的调查统计

小明的调查统计 时间限制:1000 ms  |  内存限制:65535 KB 难度:1 描述 最近小明他们社团对理工全校每个班级进行了一次社会调查,他们对每个人的体重进行了统计。现在小明的任务是记录每个班级最重的人的体重和最轻人的体重,并求每个班级的体重差(班级最重人体重-班级最轻人体重)。 输入 只有一组测试数据 第一行输入一个正整数T(0 随后有T行

Python3 爬虫实战 1:应对特殊字体,爬取猫眼电影实时排行榜 2128
上一篇: bfs pos-3984迷宫问题
下一篇: HDU - 2612 Find a way
cBlithe
博客等级 码龄10年 18粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值