964: 数细胞

2024-04-14 20:44
文章标签 细胞 964

本文主要是介绍964: 数细胞,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

样例:

解法:

1.遍历矩阵

2.判断矩阵[i][j],若是未标记细胞则遍历相邻所有未标记细胞并标记,且计数

实现:遍历相邻所有未标记细胞

以DFS实现:

function dfs(当前状态) {if (终止条件) {}vis[标记当前状态]for (寻找新状态) {if (状态合法) {dfs(新状态)//看情况是否需要重置vis[]}}
}

代码

#include<iostream>
#include<vector>
using namespace std;
int dir[4][2] = { 0,1,1,0,-1,0,0,-1 };
void dfs(vector<vector<int>>& a, int x, int y) {if (a[x][y] == 0) return;a[x][y] = 0;for (int i = 0; i < 4; i++) {int nextx = x + dir[i][0];int nexty = y + dir[i][1];if (nextx < 0 || nextx >= a.size() || nexty < 0 || nexty >= a[0].size()) {continue;}if (a[nextx][nexty] != 0) {dfs(a, nextx, nexty);}}
}
int main() {int m, n;cin >> m >> n;vector<vector<int>> a(m, vector<int>(n , 0));for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)cin >> a[i][j];int result = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (a[i][j] != 0) {result++;dfs(a, i, j);}}}cout << result;return 0;
}

以BFS实现:

function bfs(当前节点) {当前节点入列标记当前节点while (队列不为空) {当前节点出列寻找合法相邻节点合法相邻节点入列标记相邻节点}
}

代码:

#include<iostream>
#include<vector>
#include<queue>
#include<utility>
using namespace std;
int dir[4][2] = { 0,1,1,0,-1,0,0,-1 };
void bfs(vector<vector<int>>& a, int x, int y) {queue<pair<int, int>> que;que.push({ x,y });a[x][y] = 0;while (!que.empty()) {pair<int, int> cur = que.front();que.pop();int curx = cur.first;int cury = cur.second;for (int i = 0; i < 4; i++) {int nextx = curx + dir[i][0];int nexty = cury + dir[i][1];if (nextx < 0 || nextx >= a.size() || nexty < 0 || nexty >= a[0].size()) {continue;}if (a[nextx][nexty] != 0) {que.push({ nextx,nexty });a[nextx][nexty] = 0;}}}
}
int main() {int m, n;cin >> m >> n;vector<vector<int>> a(m, vector<int>(n, 0));for (int i = 0; i < m; i++)for (int j = 0; j < n; j++)cin >> a[i][j];int result = 0;for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {if (a[i][j] != 0) {result++;bfs(a, i, j);}}}cout << result;return 0;
}

这篇关于964: 数细胞的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/903969

相关文章

【自然语言处理 词库建设】怎样将搜狗的细胞词库scel格式转化成txt格式

搜狗词库:https://pinyin.sogou.com/dict/ 1、先下载搜狗词库到本地,文件格式为.scel后缀 2、利用python3 自动转换成txt python3版本: # -*- coding:utf-8 -*-import structimport os# 由于原代码不适用python3且有大量bug# 以及有函数没有必要使用且一些代码书写不太规范或冗余#在原有

CP-Net:用于生物细胞解析的实例感知部分分割网络|文献速递--基于深度学习的医学影像病灶分割

Title 题目 CP-Net: Instance-aware part segmentation network for biological cell parsing CP-Net:用于生物细胞解析的实例感知部分分割网络 01 文献速递介绍 实例分割是计算机视觉中的一个经典任务,用于识别图像中每个像素的对象类别(语义类型)并确定唯一的对象ID(实例索引)(Yi等,201

肿瘤免疫新视野:揭秘CXCL13+ T细胞对免疫检查点阻断的响应

肿瘤免疫新视野:揭秘CXCL13+ T细胞对免疫检查点阻断的响应 在免疫治疗领域,探索肿瘤反应性T细胞对免疫检查点阻断(ICB)的响应机制一直是研究热点。一篇2022年发表在《Nature Cancer》上的研究——“Single-cell meta-analyses reveal responses of tumor-reactive CXCL13+ T cells to immune-che

哺乳细胞重组表达人鼠嵌合抗体:制备与应用

重组抗体是一类具有广泛应用价值的蛋白质,在药物研发和生物医学研究中发挥着重要作用。本文将介绍重组抗体的表达方式,重点关注嵌合抗体制备和哺乳细胞重组表达人鼠嵌合抗体的技术原理和应用。 重组抗体表达的原理和方法 重组抗体表达是通过将人或动物源的免疫球蛋白基因导入表达宿主细胞,并使其表达出特异性抗体蛋白质。常用的表达系统包括细菌、哺乳细胞和真核微生物等。 嵌合抗体制备的步骤和优势 选择适当的抗原

嵌合抗体设计与表达服务:哺乳细胞重组表达的利器

嵌合抗体是一类具有重要生物学功能和药物研发应用的蛋白质,其设计和表达对于相关研究至关重要。本文将介绍嵌合抗体设计与表达服务的原理和方法,重点关注哺乳细胞重组表达的技术进展和应用。 嵌合抗体设计与表达服务 嵌合抗体设计服务是通过计算机辅助设计等方法,设计出具有特定结构和功能的嵌合抗体分子。嵌合抗体表达服务则是在设计完成后,利用哺乳细胞等系统进行表达,并提供纯化等后续服务。 哺乳细胞重组表达的重

【细胞分割 + 图谱配准】论文综述

文章目录 一、细胞分割1.1、细胞分割:cellposeCellpose3: one-click image restoration for improved cellular segmentationCellpose 2.0: how to train your own modelCellpose: a generalist algorithm for cellular segmentat

懒人读算法(二)-细胞问题

细胞问题: 每个细胞有两种状态:1为活细胞,0为死细胞,对于每个位置都满足如下的条件: 如果活细胞周围八个位置的活细胞数少于两个,则该位置活细胞死亡如果活细胞周围八个位置有两个或三个活细胞,则该位置活细胞仍然存活如果活细胞周围八个位置有超过三个活细胞,则该位置活细胞死亡如果死细胞周围正好有三个活细胞,则该位置死细胞复活 public class Solution {public void

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介:         本文旨在解决生物血细胞数目统计的挑战,提出了基于图像处理的综合方案。通过MATLAB平台,我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段,采用图像增强和阈值分割等方法,有效地提高了细胞图像的质量。随后引入分水岭分割技术,成功地克服了细胞粘连问题,实现了细胞的准确分割。通过连通区域标记和区域属性提取,我们能够精确定位细胞并获取关键特征。         在

如何避开细胞实验室装修改造雷区!实验室装修公司教你装修改造的细节

细胞实验室的建设与改造是科学研究和生物技术发展的重要环节。一个现代化的细胞实验室不仅需要满足科研需求,还要在功能性、安全性和高效性方面达到严格的标准。随着生物科学技术的迅猛发展,细胞实验室的要求也在不断提升,因此,科学合理的对细胞实验室装修改造规划显得尤为重要。那么细胞实验室装修改造要如何规划设计?都有哪些要点来看看实验室装修公司怎么说。 一、细胞实验室布局设计 1.功能分区 细胞实验室

PUREfrex® — 重组无细胞蛋白合成系统

PUREfrex®  ——重组无细胞蛋白合成系统 PUREfrex®是一种基于PURE系统技术新开发的体外转录/翻译偶联系统,与S30体外翻译系统不同,PUREfrex®是重组无细胞蛋白合成系统,反应系统由蛋白质、核糖体、氨基酸和NTPs组成。只需将编码感兴趣蛋白质的DNA(或mRNA)与试剂盒中溶液I、II和III混合,37℃孵育反应数小时,即可完成蛋白质合成。构成PUREfrex®试剂盒的蛋