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

P1331 洛谷 海战

题目描述

在这里插入图片描述

思路

这个题需要读懂题意,即“什么样的形式表示两只船相撞?” ----> 上下相邻或左右相邻

 如果图是不和法的,一定存在如下结构:
# # 
. ## #
# .# .
# #. #
# #

即四个格子里有三个#,一个"."就表示相撞(找出的规律,后续可以用)
在这里插入图片描述
(借用一下洛谷题解大佬的图)
这样就表示两个不同的船只
即这个是dfs搜连通块的变形
数据量1000,还行

代码

基础的连通块
输出的时候有个。别忘了!

#include<bits/stdc++.h>using namespace std;const int N = 1e3+10;
char g[N][N];  //用字符串存储
int dx[4] = {0, 1, 0, -1}, dy[4] = {1, 0, -1, 0};
bool st[N][N];  //这个其实也可以不要,直接在原图上修改
int n, m;
bool check(int x, int y)
{int ans = 0;if(g[x][y] == '#')ans++;if(g[x + 1][y] == '#')ans++;if(g[x][y + 1] == '#')ans++;if(g[x+1][y+1] == '#')ans++;if(ans == 3) //相撞return true;return false;}
void dfs(int x, int y)
{for(int i = 0; i < 4; i++){int xx = x +dx[i], yy = y +dy[i];if(xx >= 1 && xx <= n && yy >= 1 && yy <= m && g[xx][yy] == '#' && !st[xx][yy]){st[xx][yy] = true;dfs(xx, yy);}}
}
int main()
{cin >> n >> m;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){cin >> g[i][j];}}int res = 0;for(int i = 1; i <= n; i++){for(int j = 1; j <= m; j++){if(check(i, j)){cout<<"Bad placement."<<endl;return 0;}if(!st[i][j]&&g[i][j] == '#') //没被搜过{res ++;st[i][j] = true;dfs(i, j);
//				cout<<"ok"<<endl;}}}printf("There are %d ships.\n", res);return 0;
}

总结

难点是如何理解船相撞,多画画图!

相关文章:

P1331 洛谷 海战

题目描述 思路 这个题需要读懂题意&#xff0c;即“什么样的形式表示两只船相撞&#xff1f;” ----> 上下相邻或左右相邻 如果图是不和法的&#xff0c;一定存在如下结构&#xff1a; # # . # 或 # # # . 或 # . # # 或 . # # #即四个格子里有三个#&#xff0c;一个"…...

如何开发iOS辅助工具?iOS按键精灵帮你实现

强大的辅助工具可以支持自动化操作&#xff0c;轻松实现一键点击、滑动、输入等操作&#xff0c;无论是游戏挂机、日常任务还是批量处理&#xff0c;都能高效完成。 在按键精灵中针对新手用户和资深开发作者都有路径实现游戏的任务点击。 新手用户推荐使用录制功能以及连点器…...

数据可视化 —— 柱形图应用(大全)

一、案例一&#xff1a;单柱形图 1.导入库 import matplotlib.pyplot as plt import pandas as pd import numpy as np 2.给窗口名称和画布大小 plt.figure(num单柱形图, figsize(6, 4), facecolorw) 3.定义x、y轴的数据 # range(0-4) x np.arange(5) # 创建数组 y1 np.a…...

NLP高频面试题(三十九)——什么是大模型的涌现能力?

在人工智能领域,随着模型规模的扩大,研究人员观察到大型语言模型会展现出一些在小型模型中未曾出现的全新能力,这种现象被称为涌现能力。这些能力并非通过特定编程或训练目标直接获得,而是在模型参数和训练数据达到一定规模后自发出现的。 为什么会产生涌现能力? 涌现能…...

课程发布|ROS+PX4固定翼无人机仿真开发课程

课程链接&#xff08;限时优惠&#xff09;&#xff1a; ROSPX4固定翼无人机仿真开发课程https://www.bilibili.com/cheese/play/ss131501135...

使用 VcXsrv 在 Windows 10 上运行 Ubuntu 图形界面

VcXsrv 是一款用于 Windows 的开源 X 服务器&#xff0c;它允许在 Windows 系统上显示 Linux 的图形应用程序。当在 Windows 10 上安装并正确配置 VcXsrv 后&#xff0c;通过设置 WSL2 中的DISPLAY环境变量&#xff0c;使其指向运行 VcXsrv 的 Windows 主机的 IP 地址&#xff…...

Java中的参数是值传递还是引用传递?

在java中&#xff0c; 参数传递只有值传递 ,不论是基本类型还是引用类型。 其中的区别在于&#xff1a; 基本数据类型&#xff08;如byte&#xff0c;short&#xff0c;int等&#xff09;&#xff1a;传递的参数是值的副本&#xff0c;即基本类型的数值本身。因此在方法中&am…...

SD教程|AI绘画软件Stable Diffusion的Lora模型详解与使用教程

一、引言 在[AI绘画 领域&#xff0c;StableDiffusion作为一种强大的文本到图像的生成模型&#xff0c;已经吸引了众多艺术家和爱好者的关注。而Lora&#xff08;Low-RankAdaptation&#xff09;模型作为StableDiffusion的一个重要扩展&#xff0c;进一步提升了模型的微调效率…...

矢量网络分析仪测试S参数注意事项

正式测试S参数之前一定要先校准 测量1个端口时&#xff0c;校准步骤如下&#xff1a; 开路&#xff08;Open&#xff09;&#xff1b; 短路&#xff08;Short&#xff09;&#xff1b; 负载&#xff08;Load&#xff09;。 测试2个端口时&#xff0c;校准步骤如下&#xff1a; …...

模拟-与-现实协同训练:基于视觉机器人操控的简单方法

25年3月来自 UT Austin、Nvidia、UC Berkeley 和纽约大学的论文“Sim-and-Real Co-Training: A Simple Recipe for Vision-Based Robotic Manipulation”。 大型现实世界机器人数据集在训练通才机器人模型方面拥有巨大潜力&#xff0c;但扩展现实世界人类数据收集既耗时又耗资…...

期权与期货的在险价值

在险价值&#xff08;Value at Risk&#xff0c;VaR&#xff09; 在险价值&#xff08;Value at Risk&#xff0c;VaR&#xff09;是指在一定概率水平 α % \alpha\% α%&#xff08;置信水平&#xff09;下&#xff0c;某金融资产或资产组合的价值在未来特定时期&#xff08…...

消防设施操作员证书用途有哪些

消防设施操作员证书是国家职业资格证书之一&#xff0c;持有该证书表明具备从事消防设施操作、监控、维护等工作的专业资格。其具体用途和重要性如下&#xff1a; 一、主要用途 就业准入资格 根据《消防法》及相关规定&#xff0c;从事消防控制室值班、消防设施操作与维护等…...

【C++ 内存管理】静态分配和动态分配

文章目录 1.静态分配2.动态分配3.对静态分配和动态分配理解4.析构函数调用顺序5.new[ ] 为什么会多申请内存呢&#xff1f; 1.静态分配 定义&#xff1a; 在编译阶段确定内存大小和生命周期&#xff0c;由编译器自动分配和释放。 特点&#xff1a; ①分配时机&#xff1a;程序…...

基于autokeras的简单天气预报例子和运行输出

import numpy as np from autokeras import StructuredDataClassifier from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 模拟数据 np.random.seed(0) n_samples 1000 X np.random.rand(n_samples, 3…...

云服务器的入门了解

首先&#xff0c;用户可能对云计算和云服务器的基本概念不太清楚&#xff0c;需要先做一个简单易懂的定义&#xff0c;避免使用太多技术术语。接下来&#xff0c;要说明云服务器和传统物理服务器的区别&#xff0c;强调云服务器的优势&#xff0c;比如弹性扩展、按需付费等。 然…...

Navicat连接远程PostGreSQL失败

问题描述 使用本地Navicat连接Windows远程服务器上部署的PostGreSQL数据库时,出现以下错误: 解决方案 出现以上报错信息,是因为PostGreSQL数据库服务尚未设置允许客户端建立远程连接。可做如下配置, 1. 找到PostGreSQL数据库安装目录下的data子文件夹,重点关注:postgres…...

经济金融最优化:从理论到MATLAB实践——最大利润问题全解析

内容摘要 本文聚焦经济金融领域的最大利润问题&#xff0c;深入探讨不考虑销售影响和考虑销售影响两种情形下的利润最大化模型柯布 - 道格拉斯生产函数等理论构建与求解。 关键词&#xff1a;经济金融&#xff1b;最大利润问题&#xff1b;柯布-道格拉斯生产函数 1. 引言 在…...

“AI工业革命2.0”:大语言模型驱动的行业再造浪潮

📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:从“工具”到“力量”的跃迁 当人工智能步入大模型时代,尤其以ChatGPT、DeepSeek、Grok 等为代表的大语言模型不断刷新人类对智能的认知边界,它们不再只是工具,而是逐步变成了行业逻辑的重构力…...

AI日报 - 2025年4月11日

&#x1f31f; 今日概览(60秒速览) ▎&#x1f916; 模型突破 | 学术界发布5B模型生成1分钟连贯视频&#xff1b;Pokemon AI达人类水平&#xff1b;Kimi-VL开源&#xff1b;Llama-Nemotron-Ultra 253B发布&#xff1b;Google Gemini长文本处理达200万token。 ▎&#x1f4bc; 商…...

企业安全用电 智能物联网断路器 功能参数介绍

安科瑞刘鸿鹏 摘要 随着城市化和智能化建设的不断推进&#xff0c;现代建筑对用电系统的安全性、可视化管理和智能化控制提出了更高的要求。传统空气开关已无法满足当前电力系统对故障预警、远程控制及能效管理的复杂需求。本文结合安科瑞ASCB2LE125系列物联网漏电断路器的功…...

python:all列表

1.all列表的说明&#xff1a; 当模块中有__all__变量时&#xff0c;当使用from xxx import *时&#xff0c;只能导入这个列表中的元素。 2.具体的例子&#xff1a; 1.先创建一个模块my_mod,在列表__all__中分别写入第一次只写入test1&#xff0c;第二次写入test1、test2两个…...

ctfshow VIP题目限免 js敏感信息泄露

根据题目提示是 js 敏感信息泄露&#xff0c;那我就右键查看源代码看看能不能发现 js 文件 访问这个 js 文件 发现了“玩101分给你flag”的源码&#xff0c;还有一段密文&#xff0c;找个在线网站解密一下&#xff08;解码UTF16成文字转换器在线&#xff09; 这句话的意思是去…...

git 提交空文件夹

git 提交空文件夹 方法1&#xff1a;使用 .gitkeep 文件 touch path/to/empty/folder/.gitkeep git add path/to/empty/folder/.gitkeep git commit -m "Add .gitkeep to track empty folder"...

QT中怎么隐藏或显示最大化、最小化、关闭按钮

文章目录 方法一&#xff1a;通过代码动态设置1、隐藏最大化按钮2、隐藏最小化按钮3、隐藏关闭按钮方法 1&#xff1a;移除 WindowCloseButtonHint方法 2&#xff1a;使用 Qt::CustomizeWindowHint 并手动控制按钮 4、同时隐藏最大化和最小化按钮5、同时隐藏最大化和关闭按钮6、…...

数据结构与算法-动态规划-线性动态规划,0-1背包,多重背包,完全背包,有依赖的背包,分组背包,背包计数,背包路径

动态规划原理 动态规划这玩意儿&#xff0c;就好比是在拓扑图上玩跳格子游戏。在图论中&#xff0c;咱们是从特定的节点跳到其他节点&#xff1b;而在动态规划里呢&#xff0c;我们是从一个状态 “嗖” 地转移到另一个状态。状态一般用数组来表示&#xff0c;就像 f [i][j]&am…...

前端-Vue2组件化编程

什么是组件 组件的定义-实现应用中局部功能代码和资源的集合 非单文件组件 非单文件组件&#xff1a; 一个文件中包含有n个组件。 单文件组件&#xff1a; 一个文件中只包含有1个组件。 基本使用 介绍 Vue中使用组件的三大步骤&#xff1a; 一、定义组件(创建组件) 二、…...

[leetcode]01背包问题

一.问题描述 01背包问题是一个经典的组合优化问题&#xff0c;属于动态规划算法的典型应用场景。其问题描述如下&#xff1a; 有一个容量为C的背包&#xff0c;以及 n 个物品&#xff0c;每个物品都有重量w[i] 和价值 v[i]。要求在有限的背包容量下选择一些物品放入背包&#…...

洛谷刷题Day1——P1706+P1157+P2089+P3654

目录 1. P1706 全排列问题题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示代码 2. P1157 组合的输出题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 代码 3. P2089 烤鸡题目背景题目描述输入格式输出格式输入输出样例 #1输入 #1输出 #1 说明/提示代…...

游戏引擎学习第214天

总结并为当天的任务做好准备 昨天&#xff0c;我们将所有调试控制代码迁移到使用新的调试接口中&#xff0c;但我们没有机会实际启用这些代码。我们做了很多准备工作&#xff0c;比如规划、将其做成宏、并将其放入调试流中&#xff0c;但实际上我们还没有办法进行测试。 今天…...

算法题型讲解

一.双指针 主要分为俩种类型&#xff1a; 1.左右指针&#xff1a;双指针指向开头&#xff0c;以一定标准移动或交换&#xff0c;对区域进行划分&#xff0c;或找到特殊点的位置 &#xff08;如&#xff1a;快慢指针判断有无环&#xff0c;移动零&#xff09; 2.对撞指针&am…...

Qt零散知识点

Qt零散知识点 Qt优点 跨平台接口简单&#xff0c;易上手一定程度上简化了内存的回收 Qt创建新项目 第一个窗口类默认的三个基类 QWidgetQMainWindowQDialog 其中QWidget是QMainWindow和QDialog的基类 一个Qt项目默认创建的文件 main.cpp 入口函数pro文件&#xff1a;工…...

算法导论(递归回溯)——⼆叉树中的深搜

算法思路&#xff08;129&#xff09; 前序遍历遵循“根节点、左子树、右子树”的顺序遍历二叉树的所有节点&#xff0c;常用于解决子节点状态依赖于父节点状态的问题。 算法思路&#xff1a; 在前序遍历的过程中&#xff0c;我们可以将信息从节点向左右子树传递&#xff0c…...

UE像素流发布linux并进行容器化部署

一、宿主机软硬件要求 主要需要关注两部分&#xff1a;对像素流的支持、对linux容器的支持。 1、像素流要求&#xff1a; https://dev.epicgames.com/documentation/zh-cn/unreal-engine/unreal-engine-pixel-streaming-reference?application_version5.3 2、linux容器要求…...

arco-design-vue:给<a-table>组件每一行添加data-id属性,并根据id数组是否包含此行id进行样式处理

场景需求&#xff1a; 需要支持框选&#xff0c;框住的行需要更改背景色来标识选中了。如下图所示 【shiftq】表示【加入】&#xff0c;【shiftw】表示【移除】 拆分要实现的功能&#xff1a; 1.框选&#xff0c;选中行数据 2.选中行之后&#xff0c;当前行的样式要有所改变 …...

为什么ChatGPT选择SSE而非WebSocket?

为什么ChatGPT选择SSE而非WebSocket&#xff1f; 一、ChatGPT回答问题的技术逻辑 ChatGPT的响应生成基于Transformer架构和自注意力机制&#xff0c;其核心是通过概率预测逐词生成文本。当用户输入问题后&#xff0c;模型会先解析上下文&#xff0c;再通过预训练的庞大语料库…...

【论文精读与实现】EDC²-RAG:基于动态聚类的文档压缩方法提升检索增强生成RAG性能

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 1. 论文核心思想 这篇由清华大学团队提出的EDC-RAG框架,针对当前…...

SAP S/4HANA Public Cloud的实施特点、项目阶段、资源和工具

1、SAP S/4HANA Public Cloud与OP、PCE部署的区别 近年来,SAP大力推广S/4HANA Public Cloud版本,越来越多的顾问开始接触SAP Public Cloud项目。S/4HANA Public Cloud强调标准化和简化,适合快速实施的企业,在实施方法、技术特点以及项目管理方法上,都与OP版本、PCE版本都…...

Kafka的生产者和消费者的关系

Apache Kafka 是一个分布式流处理平台&#xff0c;生产者和消费者是 Kafka 中两个核心角色&#xff0c;它们之间存在着紧密的关系&#xff0c;以下从多个方面为你详细介绍&#xff1a; 工作模式 生产者&#xff1a;负责将数据发送到 Kafka 的主题&#xff08;Topic&#xff0…...

DAY01:【pytorch】张量

1、张量的简介 1.1 Variable Variable 是 torch.autograd 中的数据类型&#xff0c;主要用于封装 Tensor&#xff0c;进行自动求导 data&#xff1a;被包装的 Tensorgrad&#xff1a;data 的梯度grad_fn&#xff1a;创建 Tensor 的 Function&#xff0c;是自动求导的关键req…...

如何用VBA编辑器合并Word文档:详细教程

在实际办公中&#xff0c;我们经常需要将多个Word文档合并为一个。我将详细讲解如何通过VBA编辑器实现Word文档的自动合并。 前提&#xff1a;先将主文档另存为“docm宏格式”&#xff0c;将要合并的所有文档放在同一个文件夹内。 一、安装VBA编辑器 VBA编辑器是Word自带的工…...

智能体代理模式(Agent Agentic Patterns)深度解析

一、智能体代理模式的理论演进与核心定义 1.1 从自动化工具到认知代理的范式转变 传统AI系统以 规则驱动型工作流 为核心&#xff0c;依赖预设程序执行确定性任务&#xff08;如制造业机器人&#xff09;。而智能体&#xff08;Agent&#xff09;通过 大语言模型&#xff08;…...

若依微服务集成Flowable仿钉钉工作流

项目简介 本项目工作流模块集成在若依项目单独一个模块&#xff0c;可实现单独运行部署&#xff0c; 前端采用微前端&#xff0c;嵌入在若依的前端项目中。因博主是后端开发&#xff0c;对前端不是太属性&#xff0c;没将工作流模块前端代码移到若依前端。下面贴上代码工程结构…...

关于数据结构B树部分的知识点,解题过程以及方法思路

关键点数和节点数的关系...

TOGAF之架构标准规范-技术架构

TOGAF是工业级的企业架构标准规范&#xff0c;本文主要描述技术架构阶段。 如上所示&#xff0c;技术架构&#xff08;Technology Architecture&#xff09;在TOGAF标准规范中处于D阶段 技术架构阶段 技术架构阶段的主要内容包括阶段目标、阶段输入、流程步骤、阶段输出、架构…...

经济金融优化:最优消费与投资分配的MATLAB实战

内容摘要 本文聚焦经济金融领域的优化问题&#xff0c;详细介绍最优消费和最优投资分配的理论与实践。 关键词&#xff1a;最优消费&#xff1b;最优投资分配&#xff1b;效用最大化&#xff1b;投资收益&#xff1b;MATLAB 一、引言 在经济金融领域&#xff0c;个体和企业常…...

【Python语言基础】17、继承

文章目录 1. 继承1.1 为什么要用继承1.2 继承的基本语法1.3 方法重写1.4 多重继承 2. supper()2.1 作用2.2 基本语法2.3 注意事项2.4 super() 在多继承中的特点 1. 继承 在 Python 里&#xff0c;继承是一种强大的编程概念&#xff0c;它允许一个类&#xff08;子类&#xff0…...

基于CNN-GRU的深度Q网络(Deep Q-Network,DQN)求解移动机器人路径规划,MATLAB代码

一、深度Q网络&#xff08;Deep Q-Network&#xff0c;DQN&#xff09;介绍 1、背景与动机 深度Q网络&#xff08;DQN&#xff09;是深度强化学习领域的里程碑算法&#xff0c;由DeepMind于2013年提出。它首次在 Atari 2600 游戏上实现了超越人类的表现&#xff0c;解决了传统…...

DAY06:【pytorch】图像增强

1、基本概念 数据增强&#xff0c;又称数据增广、数据扩增&#xff0c;是对训练集进行变换&#xff0c;使训练集更丰富&#xff0c;从而让模型更具泛化能力 2、裁剪 — — Crop 2.1 transforms.CenterCrop 功能&#xff1a;从图像中心裁剪图片 size&#xff1a;所需裁剪图…...

K_KMS工具(适用windows和office)

目录 前言 一、下载 二、运行 前言 KMS工具&#xff08;适用windows和office&#xff09;。 一、下载 访问下载 &#x1f4be;下载&#x1f449;工具下载地址&#xff1a;https://pan.quark.cn/s/bfdaa27ea823 二、运行 1、在下载目录中找到压缩包&#xff0c;并解压。 …...

Python Cookbook-5.12 检查序列的成员

任务 你需要对一个列表执行很频繁的成员资格检査。而in操作符的 O(n)时间复杂度对性能的影响很大&#xff0c;你也不能将序列转化为一个字典或者集合&#xff0c;因为你还需要保留原序列的元素顺序。 解决方案 假设需要给列表添加一个在该列表中不存在的元素。一个可行的方法…...