当前位置: 首页 > article >正文

洛谷-算法1-7-搜索4

P1596 [USACO10OCT] Lake Counting S题目描述由于最近的降雨水在农夫约翰的田地里积聚了。田地可以表示为一个 N×M 的矩形1≤N≤1001≤M≤100。每个方格中要么是水W要么是干地.。农夫约翰想要弄清楚他的田地里形成了多少个水塘。一个水塘是由连通的水方格组成的其中一个方格被认为与它的八个邻居相邻。给定农夫约翰田地的示意图确定他有多少个水塘。输入格式第 1 行两个用空格分隔的整数N 和 M。第 2 行到第 N1 行每行 M 个字符表示农夫约翰田地的一行。每个字符要么是W要么是.。字符之间没有空格。输出格式第 1 行农夫约翰田地中的水塘数量。显示翻译题意翻译输入输出样例输入 #1复制10 12 W........WW. .WWW.....WWW ....WW...WW. .........WW. .........W.. ..W......W.. .W.W.....WW. W.W.W.....W. .W.W......W. ..W.......W.输出 #1复制3说明/提示输出详情共有三个水塘一个在左上角一个在左下角还有一个沿着右侧。由 ChatGPT 4o 翻译实现代码#includebits/stdc.h using namespace std; int n,m,sum; char a[111][111]; int ac[111][111]; int dx[8]{0, 0, 1, 1,-1,-1,1,-1}; int dy[8]{1,-1, 1,-1, 1,-1,0, 0}; void dfs(int x,int y){ ac[x][y]1; for(int i0;i8;i){ if(a[xdx[i]][ydy[i]]Wac[xdx[i]][ydy[i]]0){ dfs(xdx[i],ydy[i]); } } } int main(){ cinnm; for(int i1;in;i){ for(int j1;jm;j){ cina[i][j]; } } for(int i1;in;i){ for(int j1;jm;j){ if(a[i][j]Wac[i][j]0){ dfs(i,j); sum; } } } coutsum; return 0; }P1162 填涂颜色题目描述由数字 0 组成的方阵中有一任意形状的由数字 1 构成的闭合圈。现要求把闭合圈内的所有空间都填写成 2。例如6×6 的方阵n6涂色前和涂色后的方阵如下如果从某个 0 出发只向上下左右 4 个方向移动且仅经过其他 0 的情况下无法到达方阵的边界就认为这个 0在闭合圈内。闭合圈不一定是环形的可以是任意形状但保证闭合圈内的 0 是连通的两两之间可以相互到达。0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 1 0 1 1 1 1 1 1 10 0 0 0 0 0 0 0 0 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 1 2 1 1 1 1 1 1 1输入格式每组测试数据第一行一个整数 n(1≤n≤30)。接下来 n 行由 0 和 1 组成的 n×n 的方阵。方阵内只有一个闭合圈圈内至少有一个 0。输出格式已经填好数字 2 的完整方阵。输入输出样例输入 #1复制6 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1输出 #1复制0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1说明/提示对于 100% 的数据1≤n≤30。实现代码#includebits/stdc.h using namespace std; int n; int a[33][33]; int mark[33][33]; int dx[4]{0,0,1,-1}; int dy[4]{-1,1,0,0}; struct node{ int x,y; }; int main(){ cinn; for(int i1;in;i){ for(int j1;jn;j){ cina[i][j]; } } mark[0][0]1; queuenode q; node tp{0,0},pp; q.push(tp); while(q.size()){ node pq.front(); q.pop(); for(int i0;i4;i){ int nxp.xdx[i]; int nyp.ydy[i]; if(nx0nxn1ny0nyn1){ if(a[nx][ny]0mark[nx][ny]0){ mark[nx][ny]1; pp{nx,ny}; q.push(pp); } } } } for(int i1;in;i){ for(int j1;jn;j){ if(a[i][j]0mark[i][j]0){ cout2 ; } else couta[i][j] ; } coutendl; } return 0; }P1032 [NOIP 2002 提高组] 字串变换疑似错题题目背景本题不保证存在靠谱的多项式复杂度的做法。测试数据非常的水各种做法都可以通过不代表算法正确。因此本题题目和数据仅供参考。本题为搜索题本题不接受 hack 数据。关于此类题目的详细内容题目描述已知有两个字串 A,B 及一组字串变换的规则至多 6 个规则形如A1​→B1​。A2​→B2​。规则的含义为在 A 中的子串 A1​ 可以变换为 B1​A2​ 可以变换为 B2​⋯。例如AabcdBxyz变换规则为abc→xuud→yy→yz。则此时A 可以经过一系列的变换变为 B其变换的过程为abcd→xud→xy→xyz。共进行了 3 次变换使得 A 变换为 B。输入格式第一行有两个字符串 A,B。接下来若干行每行有两个字符串 Ai​,Bi​表示一条变换规则。输出格式若在 10 步包含 10 步以内能将 A 变换为 B则输出最少的变换步数否则输出NO ANSWER!。输入输出样例输入 #1复制abcd xyz abc xu ud y y yz输出 #1复制3说明/提示对于 100% 数据保证所有字符串长度的上限为 20。【题目来源】NOIP 2002 提高组第二题实现代码#include iostream #include string using namespace std; string a,b; string ra[7],rb[7]; struct node{ string cur; int cs; }q[2000000]; int main() { cinab; int i1; while(cinra[i]rb[i]) { i; } i-1; int head0,tail1; q[tail].cura; q[tail].cs0; while(headtail) { head; if(q[head].cs10) { coutNO ANSWER!endl; return 0; } for(int j1;ji;j) { int posq[head].cur.find(ra[j],0); while(1) { if(pos-1) { break; } else { tail; q[tail].curq[head].cur; q[tail].csq[head].cs1; q[tail].cur.replace(pos,ra[j].size(),rb[j]); if(q[tail].curb) { coutq[tail].cs; return 0; } posq[head].cur.find(ra[j],pos1); } } } } return 0; }P1825 [USACO11OPEN] Corn Maze S题目描述去年秋天农夫约翰带着奶牛们参观了一个玉米迷宫。但这不是一个普通的玉米迷宫它有几个重力驱动的传送滑梯可以让奶牛瞬间从迷宫中的一个点传送到另一个点。滑梯是双向的奶牛可以瞬间从滑梯的起点滑到终点或者从终点滑到起点。如果奶牛踩到滑梯的任一端她必须使用滑梯。传送操作不能连续使用即传送一次之后必须通过非传送方式移动至少一步才能再次进行传送。玉米迷宫的外部完全由玉米包围只有一个出口。迷宫可以用一个 N×M2≤N≤3002≤M≤300的网格表示。每个网格元素包含以下项目之一玉米玉米网格元素不可通行草地容易通过滑梯端点会将奶牛传送到另一个端点出口奶牛只能从一个空间移动到相邻的下一个空间前提是它们相邻且都不包含玉米。每个草地空间有四个潜在的邻居可以让奶牛到达。从一个草地空间移动到相邻空间需要 1 个时间单位从一个滑梯端点移动到另一个端点需要 0 个时间单位。填满玉米的空间用井号#表示。草地空间用英文句号.表示。滑梯端点对用相同的大写字母A到Z表示并且没有两个不同的滑梯端点用相同的字母表示。出口用等号表示。贝茜迷路了。她知道自己在网格中的位置并用「at」符号标记了她当前的草地空间。她需要的最短时间是多少才能移动到出口空间输入格式第一行两个用空格隔开的整数 N 和 M。第 2∼N1 行第 i1 行描述了迷宫中的第 i 行的情况共有 M 个字符每个字符之间没有空格。输出格式一个整数表示起点到出口所需的最短时间。显示翻译题意翻译输入输出样例输入 #1复制5 6 ##### #.W.## #.#### #.W## ######输出 #1复制3说明/提示例如以下矩阵N5,M6。##### #.W.## #.#### #.W## ######唯一的一个装置的结点用大写字母 W 表示。最优方案为先向右走到装置的结点花费一个单位时间再到装置的另一个结点上花费 0 个单位时间然后再向右走一个再向上走一个到达出口处总共花费了 3 个单位时间。由 ChatGPT 4o 翻译实现代码#includeiostream #includequeue using namespace std; const int N350; struct point{ int x; int y; int t; }; queuepoint que; char a[N][N]; bool vis[N][N]; int n,m; int dx[4]{1,0,-1,0}; int dy[4]{0,1,0,-1}; int sx; int sy; void goto_another(int nx,int ny,int k) { for(int i1;in;i) { for(int j1;jm;j) { if(a[i][j]a[nx][ny](i!nx||j!ny)) { nxi; nyj; return ; } } } } int main() { cinnm; string s; for(int i1;in;i) { cins; for(int j1;jm;j) { a[i][j]s[j-1]; if(a[i][j]) { sxi; syj; } } } que.push((point){sx,sy,0}); while(!que.empty()) { point fque.front(); que.pop(); if(a[f.x][f.y]) { coutf.t; return 0; } if(a[f.x][f.y]Aa[f.x][f.y]Z) { goto_another(f.x,f.y,f.t); } for(int i0;i3;i) { int nxf.xdx[i]; int nyf.ydy[i]; if(nx1nxnny1nyma[nx][ny]!#!vis[nx][ny]) { vis[nx][ny]true; que.push((point){nx,ny,f.t1}); } } } return 0; }

相关文章:

洛谷-算法1-7-搜索4

P1596 [USACO10OCT] Lake Counting S 题目描述 由于最近的降雨,水在农夫约翰的田地里积聚了。田地可以表示为一个 NM 的矩形(1≤N≤100;1≤M≤100)。每个方格中要么是水(W),要么是干地&#x…...

11《深入解析CAN总线:数据场、控制场、CRC场逐字段精讲》

001、CAN总线协议基础与帧结构总览 从一次诡异的通信丢帧说起 上个月在调试一个电机控制节点时,遇到个怪事:总线上明明能看到正确的ID和DLC,但数据场内容偶尔会错乱。逻辑分析仪抓到的波形显示,CRC校验段居然通过了,但应用层解析出来的转速值会突然跳变。查了三天,最后…...

网络传输介质是计算机网络中连接各个节点的物理通路,是数据传输的物理基础

网络传输介质是计算机网络中连接各个节点的物理通路,是数据传输的物理基础。根据《软件设计师教程(第5版)》内容,传输介质主要分为有线传输介质和无线传输介质两大类,以下是各类介质的核心特性: 1. 同轴电缆…...

记一次由「进程文件描述符泄漏」引发的socket- too many open files

记一次由「进程文件描述符泄漏」引发的socket: too many open files 在运维和开发过程中,文件描述符泄漏是一个常见但容易被忽视的问题。当进程频繁打开文件、网络连接等资源却未正确关闭时,系统资源会被逐渐耗尽,最终导致"too many op…...

免费零投入,每月帮打工人省18小时少花200块,2026新版会议纪要模板不领亏大了

我做了五年社科访谈研究,前四年大半时间都耗在录音整理上,踩过不下十种语音转写工具的坑,要么准确率低改到疯,要么收费贵一年大几百,要么长音频直接卡崩溃。试了一圈下来,我可以明确说:听脑AI是…...

[具身智能-379]:如何在仿真环境进行模型的训练?模型如何获取仿真如何的数据?模型与仿真软件交换信息的标准?

一、仿真环境训练模型的标准流程无论使用强化学习(RL)、监督学习(SL)还是模仿学习(IL),在仿真中训练都遵循以下闭环:1. 环境配置2. 定义交互接口3. 构建训练循环4. 并行加速5. 评估与…...

ECharts 3D地图多层级同步交互优化:零延迟缩放与拖拽实战

1. 为什么需要3D地图多层级同步交互? 最近在做数据可视化项目时,遇到了一个棘手的问题:如何在ECharts的3D地图中实现多个geo图层的同步缩放和拖拽?这个问题看似简单,但实际操作起来却有不少坑。想象一下,当…...

三点定圆心半径易语言实现

要使用易语言实现三点确定圆心与半径的计算,核心是基于平面几何原理:三个不共线的点可以唯一确定一个圆,圆心到这三个点的距离相等。以下是具体的实现方法和代码。 一、算法原理与数学推导 1.1 核心数学公式 设三个点坐标为 $P_1(x_1, y_1…...

【赵渝强老师】OceanBase的分区表

OceanBase当前支持的类型包括Range分区、Range COLUMNS分区、List分区、List COLUMNS分区、Hash分区和Key分区等,其中: Range分区、Range COLUMNS分区、List分区和List COLUMNS分区可以用于解决业务中大量删除带来的性能问题,支持快速删除分…...

AI大模型时代的企业可观测性架构设计方案

一、架构设计原则:AI原生可观测性的核心理念1. 统一标准,打破数据孤岛在AI大模型时代,传统的割裂式监控工具(如Prometheus监控基础设施、ELK日志分析、Jaeger链路追踪)已无法满足复杂AI系统的可观测需求。必须采用Open…...

2010-2025年上市公司国地税改革DID数据

本数据以张浩天和卢盛峰(2025)《国地税机构合并与政府补助策略性调整》研究框架为参考,构建上司公司国地税改革DID虚拟变量。国地税合并的核心目标之一是提升税收治理效能,降低征纳成本,优化营商环境。然而&#xff0c…...

程序包javax.validation.constraints不存在

在现代Java企业级应用开发中,数据校验是保障系统健壮性与安全性的第一道防线。无论是Web API的请求参数、数据库实体的持久化字段,还是微服务间的消息传递,都离不开对数据合法性的严格审查。javax.validation.constraints(及其继任…...

探店无数,平凉这口五仁月饼最难忘

我是浙江人,在广州工作。品质出众次听说五仁月饼是在一个平凉同事嘴里。他形容了半天"外头酥里头软"、"麦香特别浓"、"能撕着吃",我完全想象不出来——一个饼子能有多特别?直到他寄了一盒给我。探店无数&#…...

“程序包io.swagger.annotations不存在”终极解决方案:从原理到实战的万字深度剖析(2026年最全最新解决方案)

在现代Java Web开发中,API文档的自动生成与可视化测试已成为提升团队协作效率的关键环节。Swagger作为业界最主流的OpenAPI规范实现工具,凭借其强大的注解驱动能力,让开发者能够“代码即文档”。然而,许多开发者在初次集成或升级项…...

装好Hermes只是第一步:四步调教,让AI“越用越聪明”

Hermes Agent 深度配置指南:从“装好了”到“超好用”,四步调教你的自进化 AI 很多人装完 Hermes Agent 的第一反应都差不多:能跑,能聊,也能调几个工具,看起来已经挺强。 但说实话,这还只是“装…...

如何监控集群 interconnect_ping与traceroute验证心跳通畅.txt

MySQL启动报错本质是未找到配置文件,实际按固定顺序搜索/etc/my.cnf等路径;可通过mysqld --help --verbose查看搜索顺序,优先在其中一路径放置含datadir、socket、user的最小my.cnf;注意systemd或launchd可能覆盖默认路径&#xf…...

嵌入式单片机/STM32模块开源代码地图

GitHub 网址:https://github.com/ 当需要找模板时,可以这样搜索:芯片平台 模块名 关键词(driver/library/embeded) 例如: 找 OLED 驱动:stm32 oled i2c driver 找震动电机:vibra…...

CSS如何为Bootstrap按钮增加渐变色_利用background linear-gradient

Bootstrap按钮需用!important覆盖background-color并重写:hover/:active伪类,或改用background-imagetransparent方案,同时适配深色模式与移动端点击反馈。Bootstrap按钮默认不支持background: linear-gradient()直接覆盖因为Bootstrap(尤其是…...

GPT-4o 推理能力全解析:架构革新到底强在哪?

GPT-4o的发布标志着推理能力进入新阶段——它不再仅仅是“更聪明的聊天机器人”,而是一个能够同时理解文本、图像、音频并进行跨模态联合推理的统一引擎。根据官方技术文档,GPT-4o在MMLU(大规模多任务语言理解)上达到87.2%&#x…...

Android Camera2 + OpenGL 竖屏或横屏预览会有“轻微拉伸”

前言在进行 Android 相机底层开发(Camera2 OpenGL ES)时,开发者经常会遇到各种拉伸问题。有一种最隐蔽的“轻微拉伸”:画面方向正确,预览也没变黑,但人脸看起来明显比平时“瘦长”了一点点。本文将结合一次…...

什么是NVSRAM?NVSRAM内部结构有何特点?

1、什么是NVSRAM?内部结构有何特点? 从内部架构来看,一颗NVSRAM芯片相当于将一颗SRAM和一颗EEPROM“绑定”在一起,并集成相应的控制逻辑。尽管功能复杂,其物理尺寸却与普通存储芯片相差无几,这大大节省了PC…...

德州仪器线上笔试-学习-2026.4.15

今天下午收到德州仪器的笔试邮件,大概意思是,我之前投的fae实习岗位的简历通过初筛了今天晚上在线上笔试。笔试对我来说挺难的。...

从几何视角直观理解对偶性:强对偶、弱对偶与KKT条件的可视化证明

1. 从几何视角理解优化问题的基本框架 想象你正在规划一次登山活动。山的地形就是你的目标函数,而各种限制条件(比如必须携带的装备重量、时间限制等)就是约束条件。优化问题本质上就是在这些限制下,找到最佳的登山路径。这就是优…...

Skiller:一款跨平台的 AI Skills管理工具

Skiller:一处管理,多处分发 —— 你的 AI 技能统一调度中心 写一次,用到处处。让 AI 技能在 Claude Code、OpenCode、Cursor 之间自由流动。 github pages 问题:AI 工具多了,技能管理乱了 如果你同时使用多个 AI 编程…...

智能科学毕设易上手项目选题答疑

0 选题推荐 - 大数据篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应…...

PX4飞控配置光流模块

PX4固件启用光流模块 理解Pixhawk的串口接口 先设置飞控参数,启用串口,如MAV_0_CONFIG。 参考:https://docs.px4.io/main/en/peripherals/serial_configuration TELEM 1 is configured as a MAVLink serial port suitable for connection…...

别再死记硬背AUC公式了!用Python+Sklearn画个ROC曲线,5分钟搞懂AUC到底在算什么

用Python实战解锁AUC:从代码到直觉的认知跃迁 记得第一次接触AUC时,我被各种公式和理论解释绕得头晕——直到亲手用Python画出第一条ROC曲线,那些抽象概念突然变得鲜活起来。本文将带你用不到20行代码,完成从数据加载到AUC计算的全…...

别再手动升级了!手把手教你用STM32 IAP实现产品远程固件更新(附代码)

STM32 IAP实战:构建企业级远程固件更新系统 当你的智能家居网关出货量突破10万台时,凌晨3点的客服电话突然响起——客户抱怨设备无法连接新上线的云服务。传统解决方案需要召回设备或派遣技术人员,而具备IAP能力的设备只需推送一个OTA更新包。…...

公司又要改流程了?先别急着皱眉头

每次公司宣布要改流程,或者组织要调整,工程师群体里最先出现的,往往不是讨论,而是情绪。私下里开始传:这次又要折腾什么?上次改完还没稳,又来一轮?这种反应可以理解。芯片研发本来就…...

STM32F103C8T6最小系统板避坑指南:从Keil5安装到OLED显示,新手必看的10个实战问题

STM32F103C8T6最小系统板避坑指南:从Keil5安装到OLED显示,新手必看的10个实战问题 第一次接触STM32F103C8T6最小系统板时,那种既兴奋又忐忑的心情至今难忘。作为嵌入式开发的经典入门平台,这块蓝色的小板子藏着无数可能性&#xf…...