【无标题】1135bfs好题

2024-04-01 16:52
文章标签 无标题 好题 1135bfs

本文主要是介绍【无标题】1135bfs好题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

dfs当你找到了答案后就要设计一个值一直return否则会超时,

如果不能选一样的数就要开状态数组,你再main里面定义的变量如果你不传到函数里函数里面也

用不到

/*
广搜模板
q.push(初始状态);
while(q.size){
    a=q.front();
    q.pop();
    for(枚举a的所以可到达状态){
        if(本状态v合法){
            执行标记操作;
            q.push(v);
        }
    }
}
*/
#include<bits/stdc++.h>
using namespace std;
int n,a,b;
struct node{
    int up,down;
    int step;
    bool visit;
}ns[210];
int v[210];
int main(){
    int t;
    cin>>n>>a>>b;
    for(int i=1;i<=n;i++){
        cin>>t;
        ns[i].up=i+t;
        ns[i].down=i-t;
        ns[i].step=-1;
        ns[i].visit=false ;
    }
    queue<node> q;
    ns[a].step=0,ns[a].visit=true;//将第一个点放入队列设置为已经访问避免重复计算
    q.push(ns[a]);
    while(q.size()){
        node f=q.front();
        q.pop();
        int u=f.up,d=f.down;
        if(u>=1&&u<=n&&ns[u].visit==false){
            ns[u].visit=true;
            ns[u].step=f.step+1;
            q.push(ns[u]);
        }
         if(d>=1&&d<=n&&ns[d].visit==false){
            ns[d].visit=true;
            ns[d].step=f.step+1;
            q.push(ns[d]);
        }
        if(u==b||d==b) break;
    }
    cout<<ns[b].step;
}

这篇关于【无标题】1135bfs好题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

【无标题】clientWidth、offsetWidth、scrollWidth与getBoundingClientRect

概要 在JavaScript中,我们常常要获取某个 HTML 元素的尺寸。但是在js中,我们往往能获取好几种尺寸,这几种尺寸的区别是什么呢?本文给出详细解析。 clientWidth与clientHeight clientWidth表示某个元素的可见宽度(即元素内容区域的宽度),clientHeight表示某个元素的可见高度(即元素内容区域的宽度)。 它的计算规则只包括内容和内边距,不包括边

【无标题】免费录屏工具推荐,除了OBS还有这几款你也应该试试!

在寻找一款免费且高效的录屏软件时,除了OBS,市场上还有其他多种选择。本文将为您介绍五款易于操作的录屏工具,它们能够满足您在制作教程视频、游戏直播或视频演示时的需求。 首选推荐:嗨格式录屏大师 嗨格式录屏大师以其全面的录制模式(包括全屏、进程、摄像头等七种模式)在视频录制领域占据一席之地。该软件在录制过程中提供工具栏,支持画面标注、聚光灯、高亮等操作,同时具备计划任务录制和自动分段录制

【无标题】使用Go (或者 Python) 执行外部命令,直接模式和 Shell模式的区别

有时,我们需要通过编程语言执行外部程序、命令或脚本。 Go 语言里提供了 “os/exec” 库,Python 里面也提供了 subprocess 这样的库。 但在具体调用外部命令时,有两种方式: 直接调用外部命令通过 Shell 调用外部命令 以 Go 语言为例: cmd := exec.Command("./myscript.sh", "arg1", "arg2") // 直接执行外

【无标题】【Datawhale X 李宏毅苹果书 AI夏令营】批量归一化

1、批量归一化的作用 批量归一化(Batch Normalization,BN)的把误差曲面变得平滑,使训练能够得到快速收敛; 训练过程的优化:使用自适应学习率等比较进阶的优化训练方法; 训练对象的优化:批量归一化可以改变误差表面,让误差表面比较不崎岖 参数 w i w_i wi​是指训练参数或者训练的目标 1.1 特征归一化 当输入的特征,每一个维度的值,它的范围差距很大的时候,我们就可能

【无标题】html前段小知识点

1. 什么是HTML? 超文本标记语言是一种 用于创建网页的标准标记语言 HTML 文档包含了HTML 标签及文本内容 也叫文档1.什么是css? CSS (层叠样式表),是一种用来为结构化文档添加样式的计算机语言,CSS 文件扩展名为 .css。 可以设置多种布局,样式前端页面 不是编程语言是标记语言 2. 对WEB标准以及W3C的理解与认识 Web由三部分组成 结构 表现 跟行为 w

【无标题】XSS安全防护:responseBody (输入流可重复读) 配置

接上文:配置XSS过滤器 XXS 安全防护:拦截器+注解实现校验-CSDN博客XSS(跨站脚本)攻击是一种网络安全威胁,允许攻击者注入恶意脚本到看似安全的网站。当用户浏览这些被注入恶意代码的网页时,恶意脚本会在用户的浏览器环境中执行,这可能导致多种安全问题,如窃取敏感数据、劫持用户会话等。这些攻击利用了应用程序对用户输入处理不当的问题。预防方法包括输入验证、输出编码等。https://blog

HDU5521 Meeting([好题]最短路径)

题意:一个人在1位置,另一个在n位置,俩人要见面,然后给出m个集合,告诉集合的城市之间的距离都是t。然后问最短路 解法:边太多,直接邻接表是存不下的,所以要换一个存储方式,存与边关联的点,与点关联的边。然后最短路用堆优化的dij算法。还有一点值得注意的是,一个集合只需要跑一次就可以了,因为是最短路跑过来的,集合里都已经是最短的了 #include<bits/stdc++.h>using nam

Codeforces Round #329 (Div. 2) B. Anton and Lines ([好题] 计算直线在区间是否有交点)

题目链接 题意:给出n个条直线,然后在指定的区间(x1,x2)是否有直线的交点存在。 解法:一:闭区间,首先把区间略微调小。 二:计算直线在x1,x2上的交点y坐标,以及直线的id,然后按照y值,id值排序,最后判断第x1,x2左右两边的第i个点是不是同一直线的,如果不是,就存在交点。 #include<bits/stdc++.h>using namespace std;const i

【无标题】标准电极电势表

标准电极电势 Standard Electrode Potentials 序号(No.) 电极过程(Electrode process) EÅ/V 1 Ag++e═Ag 0.7996 2 Ag2++e═Ag+ 1.980 3 AgBr+e═Ag+Br- 0.0713 4 AgBrO3+e═Ag+BrO3- 0.546 5 AgCl+e═Ag+Cl- 0.2