首页 > 其他分享 >搜索,问题 I: 围成面积

搜索,问题 I: 围成面积

时间:2024-10-18 18:18:33浏览次数:3  
标签:15 ny int 面积 围成 nx 淹没 搜索 mp

题目描述

编程计算由“*”号围成的下列图形的面积。面积计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目。如下图所示,在10×10的二维数组中,有“*”围住了15个点,因此面积为15。

 

输入

10×10的图形。

输出

输出面积。

样例输入 复制
0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 0 0 1 0
0 1 0 0 1 1 0 1 1 0
0 0 1 0 0 0 0 1 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0
样例输出 复制
15

题解

 使用淹没小岛的思想,中间要求取的面积是淹没不到的部分(陆地),其余部分均可被淹没(水域),在地面和水域之间由1来隔开,那么从外往里进行淹没,遇到1跳过(被1隔开淹没不进去),遇到0淹没(将值设为-1)。淹没过程结束后,地图上只有-1(水域),1(分割线),0(陆地),统计0的个数即可。

代码
#include<bits/stdc++.h>
using namespace std;

int mp[15][15];

int ans;
int dx[] = {0, 1, 0, -1}, dy[] = {1, 0, -1, 0};

void dfs(int x, int y){
	if(mp[x][y] == -1 ||mp[x][y] == 1)return ;
	mp[x][y] = -1;
	for(int k = 0;k < 4;k ++){
		int nx = x + dx[k],ny = y + dy[k];
		if(nx < 0 || ny < 0 || nx > 11 || ny > 11)continue;
		dfs(nx, ny);
	}
}

int main(){
	for(int i = 1;i <= 10;i ++)
		for(int j = 1;j <= 10;j ++)cin >> mp[i][j];
	dfs(1, 1);
//	for(int i = 1;i <= 10;i ++){
//		for(int j = 1;j <= 10;j ++)
//		cout << mp[i][j] << ' ';
//		cout << '\n';
//	}

	for(int i = 1;i <= 10;i ++)
		for(int j = 1;j <= 10;j ++)
			if(mp[i][j] == 0)ans ++;
	cout << ans << '\n';
	return 0;
}

标签:15,ny,int,面积,围成,nx,淹没,搜索,mp
From: https://blog.csdn.net/nick_912912/article/details/143059954

相关文章

  • uniapp开发微信小程序之搜索联想、高亮显示(附demo)
    小程序比较常见的功能就是搜索,搜索的一个体验点就联想、高亮显示,惯例还是先看效果。实现效果实现思路1)uni-search-bar搜索框,监听input事件,触发搜索联想2)调用后台接口,根据分词查询数据(TopN),返回前端数据3)前端利用正则表达式,匹配数据中的分词,添加高亮样式4)v-html标......
  • 109. 有序链表转换二叉搜索树【二叉树】
    文章目录109.有序链表转换二叉搜索树解题思路Go代码109.有序链表转换二叉搜索树109.有序链表转换二叉搜索树给定一个单链表的头节点head,其中的元素按升序排序,将其转换为平衡二叉搜索树。平衡二叉树是指该树所有节点的左右子树的深度相差不超过1。示例......
  • ES推荐搜索、自动补全,并且springBoot集成
    推荐搜索在搜索过程中,因为单词的拼写错误,没有得到任何的结果,希望ES能够给我们一个推荐搜索。GETmovies/_search{"suggest":{#title_suggestion为我们自定义的名字"title_suggestion":{"text":"drema","term......
  • el-select 下拉搜索框
    //搜索框下拉:deep(.el-select__placeholder.is-transparent){color:#fff!important;font-size:1rem!important;}:deep(.el-select__placeholder){color:#fff!important;font-size:1rem!important;}:deep(el-select__caret){color:#fff!imp......
  • C程序设计:判断并利用三边计算三角形面积
    在c语言中sqrt函数用于计算输入数的平方根。输入三角形的三边的长,做一步判断:如果三边长的数值合理(即可组成三角形),则开始利用三边计算三角形的面积。若其数值不合理则(输出信息有误)。利用复合语句。我们把一个三角形的而三边长设定为a,b,c,其面积为s。使用海伦公式即可编写出:#......
  • 【面试经验】美团搜索推荐算法工程师面经(已OC)
    一共只面了两轮,9.3一面,9.9二面,没有HR面,9.20OC一面/技术面2024/9/3晚上20:00-21:00自我介绍腾讯实习介绍实习过程中做的比较好的部分有哪些华为框架以及NPU使用过程中遇到的问题LongLoRA和LoRA区别大模型和推荐你觉得有哪些可结合的点?商品的理解、描述等介绍快手......
  • 代码随想录算法训练营day17| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜
    学习资料:https://programmercarl.com/0654.最大二叉树.html#算法公开课用前序遍历构造二叉树二叉搜索树的特点,其左节点的值<每个节点的值<其右节点的值,且根节点的值大于它的左子树的所有节点的值,小于它右子树的所有节点的值,其他同理。二叉搜索树的搜索和验证时不关心遍历顺序,因......
  • 千千静听歌词搜索:第三方歌词服务器使用方法
    因为千千静听官方服务器已经停用,因此只能使用第三方歌词服务器资源都来自于网络,本人只是搬运工,两个个方法。方法一:修改配置文件ttp_lrcsh.ini配置文件如下,txt另存为ttp_lrcsh.ini,要把ttp_lrcsh.ini文件属性只读模式,软件后台会自动删除此文件。下载歌词配置并放入AddIn文件夹即可使......
  • Bocha Web Search API:使用Langchain的Agent模式通过Tool Use调用博查 Search API实现L
    上篇文章介绍了国内可用的博查WebSearchAPI,详见:使用博查WebSearchAPI获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功能本篇讲述一下如何通过LangChain的FunctionCall方式使用它。1.安装LangChainpipinstalllangchainopenai2.获取博查......
  • 使用博查Web Search API获取搜索引擎的网页链接和文本摘要,给AI/RAG应用增加联网搜索功
    为什么需要WebSearchAPI?各类AINative应用、RAG应用、AIAgent智能体在开发过程都会遇到联网获取互联网网页信息的需求,此时需要得到原始网页链接以及文本摘要,以用于给pipeline中的大模型作为上下文总结使用。但目前仅国外的搜索引擎例如Bing、Google提供此类WebSearch......