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

[蓝桥杯 2025 省 B] 水质检测(暴力 )

暴力暴力

菜鸟第一次写题解,多多包涵!!!

这个题目的数据量很小,所以没必要去使用bfs,直接分情况讨论即可

一共两排数据,我们使用贪心的思想,只需要实现从左往右的过程中每个检测器相互连接即可,那么我们分三种情况讨论



第一种情况
 

#.
.

当第一排的当前有检测器,而第一排的下一个没有检测器,且第二排的当前位没有检测器,我们不管第二排的下一个位置有没有检测器,我们只需要把第一排的下一个添加检测器便能够实现四个格子检测器的连通



第二种情况

.
#.

与第一种情况类似,只是位置变了一下



第三种情况

#.
#.

这种情况相对复杂,我们不知道后面的情况,我们就只能从当前位置开始从第一排和第二排分别寻找再次出现 #的位置 ,哪排先出现哪排的后面一个就变成#

我们只需要判断这三种情况,没出现一次计数器加一,最后输出结果即可

这里面可以提前来找到最先出现 # 的位置 和最后出现 # 的位置,这样我们的循环会得到优化

希望能给你一点点小帮助

#include <bits/stdc++.h>
using namespace std;
int main()
{string s1, s2;cin >> s1 >> s2;int len = s1.size();int num = 0; // 计数器int l = len, r = 0;// 寻找第一出现和最后一个出现#的位置并记录for (int i = 0; i < len; i++){if (s1[i] == '#' || s2[i] == '#'){l = min(l, i);r = max(r, i);}}for (int i = l; i < r; i++){// 第一种情况的判断if (s1[i] == '#' && s1[i + 1] == '.' && s2[i] == '.'){num++;s1[i + 1] = '#';// cout << s1 << endl//      << s2 << endl//      << endl;}// 第二种情况的判断if (s1[i] == '.' && s2[i + 1] == '.' && s2[i] == '#'){num++;s2[i + 1] = '#';// cout << s1 << endl//      << s2 << endl//      << endl;}// 第三种情况的判断if (s1[i] == '#' && s2[i] == '#' && s2[i + 1] == '.' && s1[i + 1] == '.'){int p = i, q = i;for (int j = i + 1; j <= r; j++){if (s1[j] == '#'){p = j;break;}if (s2[j] == '#'){q = j;break;}}if (p >= q){s1[i + 1] = '#';num++;}else{s2[i + 1] = '#';num++;}// cout << s1 << endl//      << s2 << endl//      << endl;}}cout << num;return 0;
}

http://www.dtcms.com/a/174779.html

相关文章:

  • [前端]Javascript获取元素宽度
  • 【中间件】brpc_基础_栈管理
  • android-ndk开发(8): ndk 和 clang 版本对照表
  • 遨游科普:2025年,三防平板有多智能?
  • 【coze】意图识别(售前售后问题、搜索引擎去广告)
  • DVWA靶场保姆级通关教程--03CSRF跨站请求伪造
  • 学习groovy知识点总结
  • Qt国际化实战--精通Qt Linguist工具链
  • Spring Boot Starter简介-笔记
  • Android 开发中JDK 的使用和配置详解
  • 通过 ModernBERT 实现零样本分类的性能提升
  • DeepSeek部署实战指南:从环境搭建到企业级优化
  • 【Pandas】pandas DataFrame agg
  • 《数据分析与可视化》(清华)ch-6 作业 三、绘图题
  • 前端面试每日三题 - Day 26
  • 如何用爬虫获得按关键字搜索淘宝商品
  • 【能力比对】K8S数据平台VS数据平台
  • 第2章 神经网络的数学基础
  • 【高级IO】多路转接之select
  • SQLark可以支持PostgreSQL了,有哪些新功能?
  • AI应用爆发或将进入临界点
  • 【HarmonyOS 5】鸿蒙发展历程
  • uv简单使用
  • Vue 3 和 Vue 2 有哪些主要区别
  • 使用OpenCV 和 Dlib 实现年龄性别预测
  • OpenCV 图形API(78)图像与通道拼接函数-----调整图像大小的函数resize()
  • python仓库库存管理系统-药房药品库存管理系统
  • 颠覆监测体验!WM102无线温湿度记录仪开启智能物联新时代
  • .NET 通过回调函数执行 Shellcode启动进程
  • 基于nacos实现动态线程池设计与实践:告别固定配置,拥抱弹性调度