首页 > 其他分享 >SWUST 964: 数细胞

SWUST 964: 数细胞

时间:2024-04-09 22:03:00浏览次数:17  
标签:964 pi int 细胞 pj Sequeue front SWUST rear

#include<iostream>
#include<cstdlib>
using namespace std;
#define max 50000

struct pos {
	int x;
	int y;
};

typedef struct se
{
	pos data[max];
	int front, rear;
} Sequeue;

void init(Sequeue*& Q)
{
	Q = (Sequeue*)malloc(sizeof(Sequeue));
	Q->front = -1;
	Q->rear = -1;
}

int empty(Sequeue* Q)
{
	if (Q->rear == Q->front)
		return 1;
	else
		return 0;
}

void insertsequeue(Sequeue*& Q, int i, int j)
{
	if ((Q->rear + 1) % max == Q->front)
	{
		cout << "队列已满!" << endl;
		exit(0);
	}
	Q->rear = (Q->rear + 1) % max;
	Q->data[Q->rear].x = i;
	Q->data[Q->rear].y = j;
}

void delsequeue(Sequeue*& Q, int& i, int& j)
{
	if (Q->rear == Q->front)
	{
		cout << "队列已空!" << endl;
		exit(0);
	}
	Q->front = (Q->front + 1) % max;
	i = Q->data[Q->front].x;
	j = Q->data[Q->front].y;
}
int count(int a[50][50], int m, int n)
{
	int x = 0;
	int i, j, pi, pj;
	Sequeue* q;
	init(q);
	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (a[i][j])
			{
				insertsequeue(q, i, j);
				while (!empty(q))
				{
					delsequeue(q, pi, pj);
					a[pi][pj] = 0;
					if(pi-1>=0&&a[pi-1][pj])insertsequeue(q, pi-1, pj);
					if(pi+1<=m-1&&a[pi+1][pj])insertsequeue(q, pi+1, pj);
					if(pj+1<=n-1&&a[pi][pj+1])insertsequeue(q, pi, pj+1);
					if(pj-1>=0&&a[pi][pj-1])insertsequeue(q, pi, pj-1);
				}
				x++;
			}
		}
	}
	return x; //x为计算出在细胞在个数

}

int main()
{
	int test[50][50];
	int i, j, m, n;
	cin >> m;
	cin >> n;
	for (i = 0; i < m; i++)
		for (j = 0; j < n; j++)
			cin >> test[i][j];

	cout << count(test, m, n);
}

标签:964,pi,int,细胞,pj,Sequeue,front,SWUST,rear
From: https://blog.csdn.net/2301_79744389/article/details/137569068

相关文章

  • 基于深度学习的血细胞智能检测与计数系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)
    摘要:本文深入探讨了基于YOLOv8/v7/v6/v5的血细胞智能检测与计数系统,该系统的核心是采用最先进的YOLOv8算法,并与YOLOv7、YOLOv6、YOLOv5等先前版本进行性能指标对比。文章全面回顾了国内外研究现状,并详细介绍了数据集处理的步骤,探讨了不同YOLO算法版本的原理和特点,并展示了如何构建......
  • SWUST OJ 952 单链表插入
    一、题目题目描述建立长度为n的单链表,在第i个结点之前插入数据元素data。输入第一行为自然数n,表示链式线性表的长度;第二行为n个自然数表示链式线性表各元素值;第三行为指定插入的位置i;第四行为待插入数据元素data。输出指定插入位置合法时候,输出插入元素后的链式线性......
  • 易基因:NSUN2介导的m5C RNA甲基化在视网膜母细胞瘤进展中的重要作用 | 科研速递
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。视网膜母细胞瘤(retinoblastoma,RB)是儿童期最常见的眼内恶性肿瘤,可导致失明甚至死亡。RB1缺失(>90%)和MYCN扩增(~10%)被认为是致癌驱动事件,导致细胞周期更新增强和癌基因激活。最近的研究表明,表观遗传缺陷也参与RB肿瘤进展......
  • 认识血液和血细胞
    https://www.mskcc.org/zh-hans/cancer-care/patient-education/facts-about-blood-and-blood-cells本信息介绍了血液的不同组成成分及其功能。血液负责将氧气和营养物质输送到人体内的所有细胞。血细胞还有对抗感染和控制出血的功能。大多数血细胞在骨髓中产生。它们会不断......
  • SWUST OJ 961: 进制转换问题
    题目描述建立顺序栈或链栈,编写程序实现十进制数到二进制数的转换。输入输入只有一行,就是十进制整数。输出转换后的二进制数。样例输入10样例输出1010参考程序#include<iostream>usingnamespacestd;#definemaxsize100voidconcersion(intn){ inta[maxsize......
  • 基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的血细胞检测与计数系统(Python+PySide6界面+训练代码
    摘要:本文介绍了一种基于深度学习的血细胞检测系统系统的代码,采用最先进的YOLOv8算法并对比YOLOv7、YOLOv6、YOLOv5等算法的结果,能够准确识别图像、视频、实时视频流以及批量文件中的血细胞。文章详细解释了YOLOv8算法的原理,并提供了相应的Python实现代码、训练数据集,以及基于PySid......
  • 易基因:人类大脑的单细胞DNA甲基化和3D基因组结构|Science
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。高通通量表观基因组分析技术可用于阐明大脑中细胞复杂性的基因调控程序。5'-甲基胞嘧啶(5mCs)是哺乳动物基因组中最常见的修饰碱基,大多数5mCs发生在胞嘧啶-鸟嘌呤二核苷酸(CpGs)上。CG差异甲基化区域(DMRs)通常是顺式......
  • 画单细胞基因表达量的一个问题。(二)
    -Tycoon20240316(转载请留言说明)那么具体什么情况会出现: 细胞类型CT1的平均表达量Avg(CT1_ln(A+1)) 低于 细胞类型CT2的平均表达量Avg(CT1_ln(A+1))呢? 推导公式: 这公式有点复杂,我这半吊子水平解不出来。换个角度看吧。讨论第一种情况(即昨天猜测......
  • 今天画单细胞基因表达量的一个问题。(一)
    -Tycoon20240315(转载请留言说明)今天下午画基因表达量在细胞类型表达量变化的时候,发现了一个问题。Q: 假设-细胞类型CT1在特定基因A上的平均表达量Avg(CT1_A)[注:表达量为0的细胞也要算进去] 高于细胞类型CT2在特定基因A上的平均表达量Avg(CT2_A)。那么问题是,......
  • 易基因:NAR:RCMS编辑系统在特定细胞RNA位点的靶向m5C甲基化和去甲基化研究|项目文章
    喜讯!易基因表观转录组学RNA-BS技术服务见刊《核酸研究》大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。2024年2月15日,吉林大学张涛、赵飞宇、李金泽为共同第一作者,吉林大学李占军、隋婷婷及赖良学为共同通讯在《NucleicAcidsResearch》(NAR/IF14.9)发表题为“Pro......