CF253C Text Editor 题解
思路
既然要求最少步数,那我们可以用bfs
如果鼠标的位置比上一行的行末位置大,如果按上的话,移到上一行的行末。如果鼠标的位置比下一行的行末位置大,如果按下的话,移到下一行的行末。
注
意当鼠标位置超过当前行最大值的时候,要让当前位置去到最大值处。
注意,需要文件读写。
代码
#include<bits/stdc++.h>
#include<cstring>
#include<queue>
#include<set>
#include<stack>
#include<vector>
#include<map>
#define ll long long
#define lhs printf("\n");
using namespace std;
const int N=1e3+10;
const int M=1e5+10;
const int inf=0x3f3f3f3f;
int a[N];
int n;
int sx,sy,ex,ey;
int vis[114][M];
int dx[]={0,0,1,-1};
int dy[]={1,-1,0,0};
struct node
{int x,y,step;
};
void bfs(int xx,int yy)
{queue<node> q;vis[xx][yy]=1;q.push(node{xx,yy,0});while(q.size()){node now=q.front();q.pop(); if(now.x==ex and now.y==ey){printf("%d",now.step);return;}for(int i=0;i<4;i++){int nx=now.x+dx[i];int ny=now.y+dy[i];if(ny>=a[nx]){ny=a[nx];}if(nx>=1 and nx<=n and ny>=1 and ny<=a[nx] and vis[nx][ny]==0){vis[nx][ny]=1;q.push(node{nx,ny,now.step+1});}}}
}
int main()
{ freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&a[i]);a[i]++;}scanf("%d%d%d%d",&sx,&sy,&ex,&ey);bfs(sx,sy);return 0;
}
AC记录
相关文章:
CF253C Text Editor 题解
思路 既然要求最少步数,那我们可以用bfs 如果鼠标的位置比上一行的行末位置大,如果按上的话,移到上一行的行末。如果鼠标的位置比下一行的行末位置大,如果按下的话,移到下一行的行末。 注意当鼠标位置超过当前行最大…...
Spring Boot 创建定时任务
在现代应用程序开发中,定时任务是一个常见的需求。Spring Boot作为一个强大的框架,提供了简单易用的定时任务调度功能。本文将详细介绍如何在Spring Boot中创建和管理定时任务,并提供完整的代码示例。 1. 什么是定时任务 定时任务是指在预定…...
Vue使用Echarts(入门级)
最终效果: npm install echarts --save // 先安装echarts<template><!-- 创建一个dom区域用于挂载echarts图表 --><div id"chart" style"width: 600px;height:500px;"/> </template> <script> import * as ech…...
2025届秋招提前批信息汇总(计算机类)
私企篇 深信服 链接:https://app.mokahr.com/campus_apply/sangfor/27944#/home内推码:NTAHRFS截止时间:6月21日 TP-LINK 链接:https://hr.tp-link.com.cn/jobList?jobId107&jobDirection0&workPlace0¤tPa…...
Scala Collection(集合)
Scala Collection(集合) Scala集合库是Scala语言的核心特性之一,它提供了一套丰富的数据结构来存储、管理和操作数据。Scala集合分为可变(mutable)和不可变(immutable)两种类型,每种类型都有其特定的用途和优势。本文将详细介绍Scala集合库的基本概念、常用集合类型以及…...
Go 语言 UUID 库 google/uuid 源码解析:UUID version4 的实现
google/uuid 库地址 本文将解析 googl/uuid 库中 UUID 变体10版本4的实现。 版本 4 的 UUID 采取完全随机的方式实现,简单来说就是将 UUID 中的 122 位全部随机填充(剩余的 6 位作标记位)。版本 4 的 UUID 存在一定的重复风险,但…...
开发个人Go-ChatGPT--6 OpenUI
开发个人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一种可扩展、功能丰富且用户友好的自托管 WebUI,旨在完全离线运行。它支持各种 LLM 运行器,包括 Ollama 和 OpenAI 兼容的 API。 功能 由于总所周知的原由,OpenAI 的接口需要密钥才…...
Spring中的工厂模式详解及应用示例
1. Spring中的BeanFactory BeanFactory是一个接口,表示它是一个工厂,负责生产和管理bean。在Spring中,BeanFactory是IOC容器的核心接口,定义了管理Bean的通用方法,如 getBean 和 containsBean。 BeanFactory与IOC容器…...
Electron 简单搭建项目
准备工作 全局安装 node npm创建文件夹,并执行 npm init安装 electron npm i electron --save-dev在 package.json 配置文件中的scripts字段下增加一条start命令: {"scripts": {"start": "electron ."} }由于配置中的入…...
旗晟智能巡检机器人:开启工业运维的智能化新篇章
在当今快速发展的工业领域,安全、效率和成本控制是企业运营的核心。旗晟科技以创新为驱动,推出了一站式的工业级智能巡检机器人数字化全景运维解决方案,为石油、天然气、化工、电力等高危行业提供了一个全新的运维模式。 一、面对挑战&#x…...
vue3的常用 Composition API有哪些?
Vue.js 3.0 引入了 Composition API,作为一种新的组织组件逻辑的方式,相比于传统的 Options API,Composition API 提供了更灵活、更可复用的代码组织方式。 以下是 Vue 3.0 中常用的 Composition API:setup() 函数: s…...
深度优先算法-DFS(算法篇)
算法之深度优先算法 深度优先算法(DFS) 概念: 深度优先算法(DFS)跟BFS算法一样是用于遍历图的算法,但是DFS并不像BFS算法一样,它搜索出来的路径不具有最短性,并且dfs算法类似于枚举,因此DFS算法一般用于求出问题的所…...
C++模块化之内部类
目录 1.引言 2.内部类的访问控制 3.优缺点分析 4.实际运用 4.1.实现复杂数据结构 4.2.封装细节实现 4.3.事件处理和回调 4.4.模板元编程辅助类 4.5. 访问控制和封装 4.6. 代码组织和模块化 5.总结 1.引言 在C中,内部类(Nested Classÿ…...
k8s-第九节-命名空间
命名空间 如果一个集群中部署了多个应用,所有应用都在一起,就不太好管理,也可以导致名字冲突等。 我们可以使用 namespace 把应用划分到不同的命名空间,跟代码里的 namespace 是一个概念,只是为了划分空间。 # 创建命…...
【AI大模型新型智算中心技术体系深度分析 2024】
文末有福利! ChatGPT 系 列 大 模 型 的 发 布, 不 仅 引 爆 全 球 科 技 圈, 更 加 夯 实 了 人 工 智 能(Artificial Intelligence, AI)在未来改变人类生产生活方式、引发社会文明和竞争力代际跃迁的战略性地位。当…...
王道计算机数据结构+插入排序、冒泡排序、希尔排序、快速排序、简单选择排序
本内容是基于王道计算机数据结构的插入排序、冒泡排序、希尔排序、快速排序、简单选择排序整理。 文章目录 插入排序算法性能代码 冒泡排序算法性能代码 希尔排序算法性能代码 快速排序算法性能代码 简单选择排序算法性能代码 插入排序 算法 算法思想:每次将一个…...
python爬虫学习(三十三天)---多线程上篇
hello,小伙伴们!我是喔的嘛呀。今天我们来学习多线程方面的知识。 目录 一、了解多线程 (1)大概描述 (2)多线程爬虫的优势 (3)多线程爬虫的实现方式 (4)…...
JavaScript 原型链那些事
在讲原型之前我们先来了解一下函数。 在JS中,函数的本质就是对象,它与其他对象不同的是,创建它的构造函数与创建其他对象的构造函数不一样。那产生函数对象的构造函数是什么呢?是一个叫做Function的特殊函数,通过newFu…...
nginx的知识面试易考点
Nginx概念 Nginx 是一个高性能的 HTTP 和反向代理服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。 Nginx 专为性能优化而开发,性能是其最重要的考量指标,实现上非常注重效率&#…...
每日Attention学习9——Efficient Channel Attention
模块出处 [CVPR 20] [link] [code] ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks 模块名称 Efficient Channel Attention (ECA) 模块作用 通道注意力 模块结构 模块代码 import torch import torch.nn as nn import torch.nn.functional …...
优化ESP32 ADF 音频问题
可以,现在已经进入音质调试阶段了,不是“能不能播放”的阶段。 你现在的问题大概率不是一个单点问题,而是下面几类之一: 1. 音量 / 增益太大,导致 ES8388 或 MD8002A 功放削顶失真 2. I2S 时钟不准,导致声音…...
Cloudflare + PlanetScale:在边缘运行全栈应用,数据库也不例外
全栈开发者面对的一道老难题 Cloudflare Workers 解决了计算层的全球分发问题——你的代码跑在 Cloudflare 遍布全球的 300 多个数据中心里,离用户近,启动快,不需要管理任何服务器。 但数据不一样。 数据库天然是"有状态的"&#x…...
告别头像上传模糊!用Cropper.js打造完美头像裁剪上传功能(附完整前后端代码)
从零构建高精度头像裁剪系统:Cropper.js全栈实战指南 每次上传头像时,你是否遇到过这样的尴尬——精心选择的图片上传后变得模糊不清,或者被强制拉伸变形?这种糟糕的用户体验在社交平台、企业系统中尤为常见。本文将带你从零构建…...
集合进阶(Collection)
一、集合概述和分类1.1 集合的分类如下图所示:一类是单列集合元素是一个一个的,另一类是双列集合元素是一对一对的。 主要学习Collection单列集合。Collection是单列集合的根接口,也称之为顶层接口,Collection接口下面又有两个子接…...
别再死记公式了!用“信号与系统”的视角,5分钟看懂卡尔曼滤波与互补滤波的本质区别
从频域视角解析卡尔曼滤波与互补滤波的本质差异 在机器人控制和姿态估计领域,数据融合算法始终是工程师们关注的焦点。当我们面对陀螺仪和加速度计这两种各具特色的传感器数据时,如何有效融合它们的长处,同时规避各自的短板,成为构…...
从医学到金融:用Python实战Cox比例风险模型进行企业风险预测(附完整代码)
从医学到金融:用Python实战Cox比例风险模型进行企业风险预测 在医疗领域,Cox比例风险模型早已成为生存分析的金标准。但鲜为人知的是,这套强大的统计工具同样适用于金融风险评估——从预测企业破产概率到评估供应链中断风险,生存分…...
如何轻松解密Widevine加密视频:完整免费指南
如何轻松解密Widevine加密视频:完整免费指南 【免费下载链接】video_decrypter Decrypt video from a streaming site with MPEG-DASH Widevine DRM encryption. 项目地址: https://gitcode.com/gh_mirrors/vi/video_decrypter 还在为付费视频无法离线保存而…...
Modbus文件读写功能码0x14与0x15:从协议解析到批量数据操作实战
1. Modbus文件读写功能码0x14与0x15基础解析 在工业自动化领域,Modbus协议就像设备之间的"普通话",而0x14和0x15这两个功能码则是专门用于文件读写的"方言"。想象一下,你需要从PLC读取生产配方,或者将设备配置…...
深度实战:如何用League Akari将英雄联盟游戏效率提升300%的终极秘籍
深度实战:如何用League Akari将英雄联盟游戏效率提升300%的终极秘籍 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否经历过在…...
定制你的弹窗外观:WYPopoverController主题设置与颜色方案全攻略
定制你的弹窗外观:WYPopoverController主题设置与颜色方案全攻略 【免费下载链接】WYPopoverController WYPopoverController is for the presentation of content in popover on iPhone / iPad devices. Very customizable. 项目地址: https://gitcode.com/gh_mi…...
