搜索 基础 AC

揭秘大厂 Unity 红点系统设计:别小看右上角那颗小红点,它能把你项目搞崩 本文详细探讨了游戏大厂如何设计高性能红点系统。红点作为提升用户活跃和转化率的重要工具,需要支持多级联动、动态判断和全局一致性。系统采用观察者模式和树形结构,分为数据管理、逻辑判定、订阅通知和UI展示四大模块,通过事件驱动方式实现高效刷新。文章特别强调了解耦设计、配置化管理和性能优化,并提出了热更新、数据分析等高级应用场景。最终指出,优秀的红点系统需要架构标准化、自动化配置和团队紧密协作,是大型游戏项目的关键技术基础。 阅读详情

题目网址:http://haut.openjudge.cn/xiyoulianxi1/1/

1:晶矿的个数

总时间限制: 
1000ms 
内存限制: 
65536kB
描述

在某个区域发现了一些晶矿,已经探明这些晶矿总共有分为两类,为红晶矿和黑晶矿。现在要统计该区域内红晶矿和黑晶矿的个数。假设可以用二维地图m[][]来描述该区域,若m[i][j]为#表示该地点是非晶矿地点,若m[i][j]为r表示该地点是红晶矿地点,若m[i][j]为b表示该地点是黑晶矿地点。一个晶矿是由相同类型的并且上下左右相通的晶矿点组成。现在给你该区域的地图,求红晶矿和黑晶矿的个数。

输入
第一行为k,表示有k组测试输入。
每组第一行为n,表示该区域由n*n个地点组成,3 <= n<= 30
接下来n行,每行n个字符,表示该地点的类型。
输出
对每组测试数据输出一行,每行两个数字分别是红晶矿和黑晶矿的个数,一个空格隔开。
样例输入
2
6
r##bb#
###b##
#r##b#
#r##b#
#r####
######
4
####
#rrb
#rr#
##bb
样例输出
2 2
1 2





#include<stdio.h>
int d[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
char map[35][35];


void clean(char c,int x,int y){
	int i;
	map[x][y]='#';
	for(i=0;i<4;i++){
		int k=x+d[i][0];
		int b=y+d[i][1];
		if(map[k][b]==c){
			clean(c,k,b);
		}
	}
}

int main(){
	int s,n;
	int x,y;
	scanf("%d",&n);
	while(n--){
		int numb=0;
		int numr=0;
		scanf("%d",&s); 
		getchar();
		for(x=0;x<s;x++){
			for(y=0;y<s;y++){
				scanf("%c",&map[x][y]);
			}
			getchar();
		}
		
		for(x=0;x<s;x++){
			for(y=0;y<s;y++){
				if(map[x][y]=='b'){
					clean('b',x,y);
					numb++;
				}
				if(map[x][y]=='r'){
					clean('r',x,y);
					numr++;
				}
			}
		}
	
		printf("%d %d\n",numr,numb);
	}
	return 0;
}

搜索的简单例题,居然花了2个小时,各种小错误,有种跳楼的感觉

Vue3+Openlayers教程导航页【目录】 欢迎来到 Vue3+Openlayers 系列教程,这里是我在 优快云 编写的所有 Vue3+Openlayers 系列相关文章的索引页,适合初学者到进阶用户系统阅读。👀 更多教程正在持续更新中,欢迎关注我,一起探索 Openlayers 的强大魅力! 阅读详情

相关推荐

CentOS7下Node.js v20+安装与常见依赖库问题解决指南

本文详细介绍了在CentOS7系统下安装Node.js v20+的完整流程及常见依赖库问题的解决方案。通过升级glibc到2.28+、配置环境变量以及处理libstdc++版本问题,帮助开发者顺利在老旧系统上部署最新版Node.js,提升开发效率。

weixin_30689307的博客 157

搜索 基础 AC 2014-01-14 15:53 170人阅读 评论(0) 收藏...

题目网址:http://haut.openjudge.cn/xiyoulianxi1/1/ 1:晶矿的个数 查看提交统计提问 总时间限制:1000ms内存限制:65536kB 描述 在某个区域发现了一些晶矿,已经探明这些晶矿总共有分为两类,为红晶矿和黑晶矿。现在要统计该区域内红晶矿和黑晶矿的个数。假设可以用二维地图m[][]来描述...

weixin_34326558的博客 158

Unity开源游戏源码精选:17个亲测可运行教学项目

Unity游戏开发中,掌握真实项目结构与工程实践远比熟记API更重要。本文围绕‘Unity开源项目’和‘游戏源码’两大核心概念,解析高质量开源资源的本质特征——结构清晰、逻辑可溯、修改即时反馈。从基础的MonoBehaviour生命周期组织,到进阶的ScriptableObject数据驱动、事件总线解耦,再到架构级的DOTS ECS设计与网络同步模式,技术价值在于将抽象原理落地为可调试、可验证、可迁移的代码范式。适用于新手建立开发直觉、中级开发者突破系统设计瓶颈,以及团队构建可维护框架。所有项目均基于Uni

weixin_31528001的博客 720

深度搜索算法(c++)

一天Extense在森林里探险的时候不小心走入了一个迷宫,迷宫可以看成是由n * n的格点组成,每个格点只有2种状态, 0和1,前者表示可以通行后者表示不能通行。农夫约翰的农场可以表示成N*M(1≤N≤100≤M≤100)个方格组成的矩形。一个池塘 是一系列相连的有积水的方格,每一个方格周围的四个方格都被认为是与这个方格 相连的。假设可以用二维地图m[][]来描述该区域,若m[i][j]为#表示该地点是 非晶矿地点,若m[i][j]为r表示该地点是红晶矿地点,若m[i][j]为b表 示该地点是黑晶矿地点。

mmz1207的博客 1048

Visual Studio 2015 插件开发 从入门到放弃(一)

必需知识:C#和Visual Studio (1)安装 Visual Studio 2015 的时候选择 Visual Studio 扩展性工具(Visual Studio Extensibility Tools)。对于已经安装好 Visual Studio 2015 的小伙伴,可以找VS2015的安装包,或者在程序与功能中找VS2015双击,在VS2015界面中选择 修改,再选择

AncientPeople的博客 2万+

运维系列【仅供参考】: Windos10和Windos11 配置intel网卡vlan的方法

Windos10和Windos11 配置intel网卡vlan的方法

weixin_54626591的博客 477

Bailian4101 晶矿的个数【DFS】

4101:晶矿的个数 总时间限制: 1000ms 内存限制: 65536kB 描述 在某个区域发现了一些晶矿,已经探明这些晶矿总共有分为两类,为红晶矿和黑晶矿。现在要统计该区域内红晶矿和黑晶矿的个数。假设可以用二维地图m[][]来描述该区域,若m[i][j]为#表示该地点是非晶矿地点,若m[i][j]为r表示该地点是红晶矿地点,若m[i][j]为b表示该地点是黑晶矿地点。一个晶矿是由相同类型的并且上下左右相通的晶矿点组成。现在给你该区域的地图,求红晶矿和黑晶矿的个数。 输入 第一行为k,表示有k组测试输入。

海岛Blog 968

4、基于球面波展开的近场/远场变换技术解析

本文深入解析了基于球面波展开的近场/远场变换技术,涵盖坐标系统选择、截断测量处理、高级SWE方法及实际应用场景。重点介绍了广义SWE、全探头补偿、平移SNF测量(TSWE)等关键技术,结合吸收材料与导电地板系统的误差处理方案,系统总结了各类方法的优缺点与适用场景,并通过流程图和案例分析展示了技术应用路径。该技术在汽车、通信和航空航天领域的天线测量中具有重要价值,可显著提升测量效率与精度。

dell8的博客 256

[数据结构]AC自动机和A*搜索算法简单概述

玩吃鸡->谩骂词语-&amp;gt;会变成****->如何实现的? 实际上,这些功能最基本的原理就是字符串匹配算法,也就是通过维护一个敏感词的字典,当用户输入一段文字内容之后,通过字符串匹配算法,来查找用户输入的这段文字,是否包含敏感词。如果有,就用“***”把它替代掉。 我们前面讲过好几种字符串匹配算法了,它们都可以处理这个问题。但是,对于访问量巨大的网站来说,比如淘宝,用户每天的评论数有几亿、甚至几十...

Tattoo的博客 876

遇到问题--OpenClaw--API rate limit reached. Please try again later429 您的账户已达到速率限制,请您控制请求频率

OpenClaw调用glm-4.7-flash模型时触发智谱AI平台429速率限制错误。分析发现当前重试策略采用固定间隔(7-11秒)导致连续失败,且未记录关键响应头信息。解决方案分三步:1)开启响应头日志获取配额详情;2)将重试策略改为带抖动的指数退避(初始1秒,最大60秒);3)在网关层实现令牌桶限流主动控制请求频率。需特别注意令牌配额(TPM)可能比请求次数(RPM)更早触达限制。

直到世界的尽头 2623

视觉SLAM十四讲slambook2示例代码所有依赖库的编译安装教程(VTK、OpenCV3、ceres、Sophus、g2o、Eigen、Pangolin、googletest等)

这是2021年的最后一篇博客~ 新年快乐! 0 准备工作   首先需要先安装cmake编译器: sudo apt-get install cmake   以及,将十四讲的示例代码克隆下来(十四讲的源码地址点击这里): git clone --recursive https://github.com/gaoxiang12/slambook2.git   由于里面的3rdparty文件夹内所有内容都来自于其他github仓库,所以需要加上--recursive参数,不然克隆下来的内容不完整。   如果你.

zeeq的博客 7839

设计模式之组合模式解决文件目录OJ问题(百练OJ【ps:白练】2775:文件结构“图”)

话说上一篇博文貌似还是在

IMUCODER博文 2069

Google 二次签名 导致 Facebook , Google 登录失败

google 授权登录

xq610928的博客 1957

字典树, kmp, AC自动机

最近学习了AC自动机, 所以就想总结一下自己的心得 学习AC自动机之前要先学会字典树和kmp, 这里我都会简单提一下。   字典树, 字典树恰如其名, 真的是和字典非常的类似, 当我们在字典上查找单词的时候都是先找第一个字母确定大概范围,然后再找其它字母逐渐缩小围最后找到单词或者发现字典上没有该单词。 字典树也是这样, 一个个的插入或查找字母, 逐层向下插入或者查找字母, 在插入时,...

diaoye4884的博客 236

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

AC自动机的简单Java实现

AC自动机主要实现多模式字符匹配的快速查找,相关知识点为: 1.trie树 2.KMP算法 代码有相关注释,如下: import java.util.ArrayList; import java.util.Hashtable; import java.util.Iterator; import com.git.books.a_lucene_java.aho_corasick.String

筑梦者 7123

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

字典树与AC自动机

字典树教程 字典树 建树 查找 AC自动机是在字典树的基础上加入了fail指针,使其实现类似于KMP算法中类似next数组的功能。 AC自动机 简单 AC自动机 详细 在这里插入代码片 在这里插入代码片 ...

qq_38993096的博客 256

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

如何高效配置搜索优化工具:AC-baidu脚本完整使用指南

在信息爆炸的时代,搜索引擎已成为我们获取知识的重要入口。然而,商业推广、繁琐重定向和杂乱界面常常让搜索体验大打折扣。AC-baidu脚本作为一款专业的搜索引擎优化工具,能够彻底解决这些痛点问题,为用户带来前所未有的纯净搜索体验。这款脚本不仅支持百度、谷歌、必应、搜狗等多个主流搜索引擎,还提供了丰富的个性化定制功能,让每一次搜索都变得高效而愉悦。 ## 🔍 搜索优化痛点分析与解决方案 **传统

gitblog_00581的博客 931

搜索刷题计划与题解1(普及与普及-)

全新的搜索刷题计划~

麒麟001号的博客 774

【AC自动机】Keywords Search

ac自动机 ac自动机,就是在tire树的基础上,增加一个fail指针,表示当前结点匹配失败时,应该转移到哪个地方继续匹配(而“这个地方”也就是当前匹配成功的子串的最长后缀串的下一个结点),而不是每次都回到起点开始重新匹配。 如下图:我们在树上匹配“washer”时,当匹配到1号结点时,发现匹配不上后继结点‘r’,就转移到2号节点继续匹配;2号结点仍然匹配不上后继结点‘r’,就继续转移到3号结点。...

qq_43803508的博客 324

HDU 2222 Keywords Search AC自动机

Problem Description In the modern time, Search engine came into the life of everybody like Google, Baidu, etc. Wiskey also wants to bring this feature to his image retrieval system. Every image hav

I'm Growing 394

字典树 AC自动机

字典树:          以树的形式存储字符串。便于进行快速检索以及最长公共前缀的获得。          结构体的构造:          ① struct node{                   int count;                   node *next[26];                   }            ② struct no

yumao19921006的专栏 532

AC自动机专题

AC自动机专题 先开个坑 按照惯例,先来模板 就以hdu2222的代码作为模板吧,就是在字典树上连上一些失配边,这个模板将不存在的子结点直接当成失配边连到根,对所有的转移都一视同仁。失配时候的转移和kmp是一样的道理,只是kmp是在链上转移,而自动机是在树上转移。 #include<iostream> #include<cstdio> #include&...

weixin_30628801的博客 71

AC自动树

上期我们学习了Trie 字典树(),本期我们将学习AC自动树。

xuxianshun666的博客 586

极客讲堂 - 数据结构与算法之美 - 深度和广度优先搜索,字符串匹配基础,Trie树,AC自动机,贪心算法,分治算法

31 | 深度和广度优先搜索 1. 基于数据结构“图”的搜索算法,比较简单的有 深度优先 和 广度优先 搜索算法。适用于图不大的情况。 2. 广度优先用 队列来实现。逐层遍历,每遍历一个结点,就放入队列。 3. 深度优先用 栈 来实现。通过堆栈,一层一层递归下去。 4.深度优先和广度优先搜索的时间复杂度都是 O(E),空间复杂度是 O(V)。 E: 图结构里的边的数目。 ...

704

AC自动机--学习笔记

在学习AC自动机前,请确保你已经充分理解 KMP算法 ANDTrie字典树 我们将从这样一个问题开始引入AC自动机 Q:给定n个模式串和1个文本串,求有多少个模式串在文本串中出现过 这个问题要怎么解? 用N次KMP吗,这样显然爆炸啊 于是闲着没事干脑袋又十分丰腴的科学家们有了一个奇妙的想法 在Trie上求KMP!(当然实际上只是类似KMP的nxt,定义还是有所不同的) 假设当前有5个模式串’sh...

niiick 301

AC自动机の总结

AC 自动机の总结算法の简介给一“坨”串,再给一个串,求那一“坨”串中有多少个是那个串的子串 首先我们需要知道看毛片(kmp)和trie树这俩东西算法大概的想法是将那一坨串放到一颗trie 树里面,并且建立与看毛片相似的fail指针减少冗杂的搜索状态建树在trie中每一个节点都有26只儿子,每次新读入一个字符串,我们就在trie中跑一遍,遇到新的节点就把ta存进去就好了 PROCEDURE MA

Marcus 627
上一篇: 并查集 基础 AC
下一篇: 算法大全--各种理解
梁千仞
博客等级 码龄15年 12粉丝 71原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值