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

day54|110.字符串接龙, 105.有向图的完全可达性, 106.岛屿的周长

110.字符串接龙

110. 字符串接龙 (kamacoder.com)

#include<iostream>
#include<vector>
#include<unordered_set>
#include<unordered_map>
#include<string>
#include<queue>using namespace std;int main(){int n = 0;cin >> n;string beginStr, endStr, strMid;cin >> beginStr >> endStr;unordered_set<string> strList;for(int i = 0; i < n; i++){cin >> strMid;strList.insert(strMid);}unordered_map<string, int> strMap;  // 访问到字符串str1时的长度queue<string> strQue;strQue.push(beginStr);strMap[beginStr] = 1;while(!strQue.empty()){string strFront = strQue.front();strQue.pop();int strSize = strFront.size();for(int i = 0; i < strSize; i++){string prevStr = strFront;for(int j = 0; j < 26; j++){strFront[i] = j + 'a';if(strFront == endStr){cout << strMap[prevStr] + 1 << endl;return 0;}if(strList.count(strFront) && !strMap.count(strFront)){  // 要求有且没被用过,可以保证每次到str的长度是最短的strMap[strFront] = strMap[prevStr] + 1; strQue.push(strFront);}}strFront = prevStr;}}cout << 0;return 0;}

105.有向图的完全可达性

105. 有向图的完全可达性 (kamacoder.com)

#include <iostream>
#include <vector>
#include <queue>
#include <unordered_set>using namespace std;int main()
{int n = 0, k = 0;cin >> n >> k;vector<queue<int>> map(n + 1);for (int i = 0; i < k; i++){int start = 0, end = 0;cin >> start >> end;map[start].push(end);}unordered_set<int> record;queue<int> que;que.push(1);record.insert(1);while (!que.empty()){int curTop = que.front();que.pop();while (!map[curTop].empty()){int queTop = map[curTop].front();map[curTop].pop();if (record.count(queTop))  // 去重{continue;}record.insert(queTop);que.push(queTop);}}for (int i = 2; i <= n; i++){if (!record.count(i)){cout << -1 << endl;return 0;}}cout << 1 << endl;return 0;
}

106.岛屿的周长

106. 岛屿的周长 (kamacoder.com)

#include<iostream>
#include<vector>using namespace std;
int ans = 0; // 记录周长
int dir[4][2] = {1, 0, 0, 1, -1, 0, 0, -1};void dfs(int x, int y, vector<vector<int>> &visited, vector<vector<int>> &island, int n, int m){visited[x][y] = 1;for(int i = 0; i < 4; i++){int nextX = x + dir[i][0];int nextY = y + dir[i][1];if(nextY < 0 || nextX < 0 || nextY >= m || nextX >= n || island[nextX][nextY] == 0){ans++;continue;}if(visited[nextX][nextY] == 0){dfs(nextX, nextY, visited, island, n, m);}}
}int main(){int n = 0, m = 0;cin >> n >> m;vector<vector<int>> island(n, vector<int>(m));vector<vector<int>> visited(n, vector<int>(m));for(int i = 0;i < n; i++){for(int j = 0; j < m; j++){cin >> island[i][j];}}for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(island[i][j] != 0 && visited[i][j] == 0)dfs(i, j, visited, island, n, m);}}cout << ans << endl;return 0;
}

相关文章:

day54|110.字符串接龙, 105.有向图的完全可达性, 106.岛屿的周长

110.字符串接龙 110. 字符串接龙 (kamacoder.com) #include<iostream> #include<vector> #include<unordered_set> #include<unordered_map> #include<string> #include<queue>using namespace std;int main(){int n 0;cin >> n;…...

使用docker在CentOS 7上安装php+mysql+nginx环境教程并运行WordPress

文章目录 一、安装docker1、切换yum源并更新系统2、卸载旧版docker3、配置Docker的yum库4、安装Docker5、启动和校验Docker6、配置镜像加速6.1、注册阿里云账号6.2、开通镜像服务6.3、配置镜像加速二、部署php+mysql+nginx环境1、准备目录结构2、拉取镜像3、运行容器并从中拷贝…...

vite tsx项目的element plus集成 - 按需引入踩坑

前面我们进行了开源组件的自研&#xff0c;很多组件可直接用现成的开源组件库&#xff0c;并不需要自己重复造轮子&#xff0c;为此我们讲如何在当前vite vitepress tsx技术整合的项目中实现element plus组件的按需引入&#xff0c;同时解决遇到的一些坑。 安装Element Plus…...

Android GreenDao 升级 保留旧表数据

Android GreenDao 升级 保留旧表数据 大川的川关注IP属地: 北京 0.2052019.08.05 11:54:36字数 270阅读 363 瓦力和伊娃 GreenDao升级库版本号之后&#xff0c;以前的旧数据没有了&#xff0c;为啥&#xff0c;因为GreenDao在升级的时候会删除旧库&#xff0c;创建新库&#…...

记一次证书站有趣的SQL注入

一、确定站点 按照以前文章中提到的寻找可进站测试的思路&#xff0c;找到了某证书站的一处站点&#xff0c;通告栏中写明了初始密码的结构&#xff0c;因此我们可通过信息搜集进入该站点(可以考虑去搜集比较老的学号&#xff0c;因为这样的账号要么被冻结&#xff0c;要么就是…...

1_初识pytorch

之前完全没有了解过深度学习和pytorch&#xff0c;但现在因为某些原因不得不学了。不得不感叹&#xff0c;深度学习是真的火啊。纯小白&#xff0c;有错的欢迎指正~ 参考视频&#xff1a;PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆…...

c++typeid()的使用

用处: typeid()函数主要用来获取对应类型或者变量的类型信息&#xff0c;其返回一个std::type_info的对象&#xff0c;这个对象中存放了对应类型的具体信息。 所以typeid()函数就是获取一个type_info的类型&#xff0c;然后可以通过此类型来获取到相应的类型信息。 type_info的…...

【面向就业的Linux基础】从入门到熟练,探索Linux的秘密(十四)-租云服务器及配环境、docker基本命令

主要介绍了租云服务器和docker配置、基本命令&#xff01;&#xff01;&#xff01; 文章目录 前言 一、云平台 二、租云服务器及安装docker 1.阿里云 2.安装docker 三、docker命令 将当前用户添加到docker用户组 镜像&#xff08;images&#xff09; 容器(container) 四、实战…...

实现一个全栈模糊搜索匹配的功能

提供一个全栈实现的方案&#xff0c;包括 Vue 3 前端、Express 后端和 MySQL 数据库的分类模糊搜索功能。让我们逐步来看&#xff1a; 1. 数据库设计 (MySQL) 首先&#xff0c;我们需要一个存储分类的表&#xff1a; CREATE TABLE categories (id INT AUTO_INCREMENT PRIMAR…...

智慧景区导览系统小程序开发

智慧景区导览系统小程序的开发是一个综合性的过程&#xff0c;旨在通过先进的技术手段提升游客的游览体验。以下是开发智慧景区导览系统小程序的主要步骤和关键点&#xff1a; 一、需求分析 市场调研&#xff1a;了解旅游市场的最新趋势和游客的实际需求&#xff0c;包括游客…...

HIVE调优方式及原因

3.HIVE 调优&#xff1a; 需要调优的几个方面&#xff1a; 1.HIVE语句执行不了 2.HIVE查询语句&#xff0c;在集群中执行时&#xff0c;数据无法落地 HIVE执行时&#xff0c;一开始语句检查没有问题&#xff0c;生成了多个JOB&#xff0c; …...

deploy local llm ragflow

CPU > 4 cores RAM > 16 GB Disk > 50 GB Docker > 24.0.0 & Docker Compose > v2.26.1 下载docker&#xff1a; 官方下载方式&#xff1a;https://docs.docker.com/desktop/install/ubuntu/ 其中 DEB package需要手动下载并传输到服务器 国内下载方式&…...

测桃花运(算姻缘)的网站系统源码

简介&#xff1a; 站长安装本源码后只要有人在线测算&#xff0c;就可以获得收入哦。是目前市面上最火的变现利器。 本版本无后台&#xff0c;无数据。本版本为开发的逗号联盟接口版本。直接对接逗号联盟&#xff0c;修改ID就可以直接运营收费赚钱。 安装环境&#xff1a;PH…...

电商平台优惠券

优惠券业务逻辑 优惠券的发放&#xff1a; 来源&#xff1a;优惠券可以由平台统一发放&#xff0c;也可以由商家自行发放。平台优惠券的优惠由平台承担&#xff0c;而店铺优惠券则由商家承担。类型&#xff1a;优惠券可以分为满减优惠券、无门槛优惠券等&#xff0c;根据使用限…...

内衣洗衣机多维度测评对比,了解觉飞、希亦、鲸立哪款内衣洗衣机更好

想要代替手洗内衣物&#xff0c;那么一台内衣专用的小型洗衣机就必不可少啦&#xff0c;不仅能够为我们节约更多的时间以及精力&#xff0c;还能大大提高内衣物的卫生&#xff0c;面对于市面上各种各样的小型内衣洗衣机&#xff0c;相信很多小伙伴都无从下手&#xff01; 为一…...

数据结构和算法入门

1.了解数据结构和算法 1.1 二分查找 二分查找&#xff08;Binary Search&#xff09;是一种在有序数组中查找特定元素的搜索算法。它的基本思想是将数组分成两半&#xff0c;然后比较目标值与中间元素的大小关系&#xff0c;从而确定应该在左半部分还是右半部分继续查找。这个…...

基于OpenCV C++的网络实时视频流传输——Windows下使用TCP/IP编程原理

1.TCP/IP编程 1.1 概念 IP 是英文 Internet Protocol &#xff08;网络之间互连的协议&#xff09;的缩写&#xff0c;也就是为计算机网络相互连接进行通信而设计的协议。任一系统&#xff0c;只要遵守 IP协议就可以与因特网互连互通。 所谓IP地址就是给每个遵循tcp/ip协议连…...

(BS ISO 11898-1:2015)CAN_FD 总线协议详解6- PL(物理层)规定3

目录 6.4 AUI 规范 6.4.1 一般规定 6.4.2 PCS 到 PMA 消息 6.4.2.1 输出消息 6.4.2.2 Bus_off 消息 6.4.2.3 Bus_off 释放消息 6.4.2.4 FD_Transmit 消息 6.4.2.5 FD_Receive 消息 6.4.3 PMA 到 PCS 消息 6.4.3.1 输入消息 如果有不懂的问题可在评论区点赞后留言&…...

docker环境下php安装扩展步骤 以mysqli为例

docker环境下php安装扩展步骤 以mysqli为例 1.0 前言2.0 php 扩展安装原理3.0 docker 环境下 php 扩展安装3.1 docker php 容器扩展安装路径及原理3.2 docker php 扩展脚本安装过程 同步发布在个人笔记[docker环境下php安装扩展步骤 以mysqli为例]( https://blog.lichenrobo.co…...

医院综合绩效核算系统,绩效核算系统源码,采用springboot+avue+MySQL技术开发,可适应医院多种绩效核算方式。

一、系统概述 作为医院用综合绩效核算系统&#xff0c;系统需要和his系统进行对接&#xff0c;按照设定周期&#xff0c;从his系统获取医院科室和医生、护士、其他人员工作量&#xff0c;对没有录入信息化系统的工作量&#xff0c;绩效考核系统设有手工录入功能&#xff08;可…...

Guardrails未来版本路线图:10大新功能全面展望与AI安全演进

Guardrails未来版本路线图&#xff1a;10大新功能全面展望与AI安全演进 【免费下载链接】guardrails Adding guardrails to large language models. 项目地址: https://gitcode.com/gh_mirrors/gu/guardrails 在大型语言模型&#xff08;LLM&#xff09;应用日益普及的今…...

三角函数公式速查手册:从基础到进阶的实用指南

三角函数公式速查手册&#xff1a;从基础到进阶的实用指南 三角函数是数学中最基础也最重要的工具之一&#xff0c;无论是学生应对考试&#xff0c;还是开发者在图形编程、信号处理等领域的实际应用&#xff0c;都离不开这些公式的灵活运用。本文将系统整理从基础定义到高级变换…...

eSearch一站式屏幕效率工具安装指南

eSearch一站式屏幕效率工具安装指南 【免费下载链接】eSearch 截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 万向滚动截屏 屏幕翻译 Screenshot Offline OCR Search Translate Search for picture Paste the picture on the screen Screen recorder Omnidirectional scrolling sc…...

探索基于V2G技术的电动汽车车载充放电机Matlab仿真模型

基于V2G技术的电动汽车车载充放电机matlab仿真模型最近在研究电动汽车相关技术&#xff0c;V2G&#xff08;Vehicle-to-Grid&#xff09;技术特别吸引我。V2G技术允许电动汽车与电网进行双向能量交换&#xff0c;简单来说&#xff0c;电动汽车不仅能从电网充电&#xff0c;还能…...

基于三菱PLC农田灌溉及MCGS组态智能灌溉系统说明双万字

基于三菱PLC农田灌溉 包含说明一万 和MCGS组态农田智能灌溉系统说明一万前阵子回豫东老家帮我叔打理那三亩秋月梨果园&#xff0c;那浇地给我整得怀疑人生——三伏天顶着三十七八度的太阳&#xff0c;扛着铁锹跑遍地头开电磁阀&#xff0c;中午热得头晕就算了&#xff0c;晚上还…...

Optick与虚幻引擎集成教程:打造专业级游戏性能分析环境

Optick与虚幻引擎集成教程&#xff1a;打造专业级游戏性能分析环境 【免费下载链接】optick C Profiler For Games 项目地址: https://gitcode.com/gh_mirrors/op/optick 作为游戏开发者&#xff0c;你是否曾经为性能瓶颈而苦恼&#xff1f;想要深入了解游戏运行时的性能…...

如何在5分钟内开始使用Ivy Wallet:新手入门教程

如何在5分钟内开始使用Ivy Wallet&#xff1a;新手入门教程 【免费下载链接】ivy-wallet Ivy Wallet is an open-source money manager app for android that you can either build or download from Google Play. 项目地址: https://gitcode.com/gh_mirrors/iv/ivy-wallet …...

CMake构建类型避坑指南:为什么你的Release模式没有优化?CMAKE_BUILD_TYPE常见问题排查

CMake构建类型避坑指南&#xff1a;为什么你的Release模式没有优化&#xff1f; 在C项目开发中&#xff0c;构建类型的选择直接影响最终生成的可执行文件性能。许多开发者在使用CMake时都遇到过这样的困惑&#xff1a;明明设置了CMAKE_BUILD_TYPERelease&#xff0c;但生成的代…...

AI与数据库融合:从经典论文到前沿实践

1. AI与数据库融合的起源与演进 数据库和人工智能这两个看似独立的领域&#xff0c;其实早在计算机科学发展的初期就已经产生了交集。上世纪70年代&#xff0c;当关系型数据库理论刚刚确立时&#xff0c;研究者们就开始探索如何让数据库系统具备一定的"智能"。当时的…...

Linux 核心操作合集(网络配置、XShell远程连接、vim文本编辑与操作、权限管理 实操手册)

一、网络连接管理&#xff08;nmli&#xff09;&#xff08;一&#xff09;nmcli命令行配置IPtylmyhost:~$ nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.168.24.24/24 tylmyhost:~$ nmcli connection modify ens160 ipv4.gateway 192.168.24.2 tyl…...