[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs)

这篇具有很好参考价值的文章主要介绍了[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

读题不规范,做题两年半! 

注意:被海水淹没后的陆地应用另一个字符表示,而不是把它变为海洋,这个点可以便利,但不能被当作起点,不然就只有 36 分。

[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs),蓝桥杯,算法,c++,dfs

ACocde: 

#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int n,cnt,ans;
int idx[]={0,0,1,-1},idy[]={1,-1,0,0};
char a[N][N];
bool vis[N][N];
bool ok(int x,int y){
	return a[x][y]!='.';
}
int dfs(int x,int y){
	
	vis[x][y]=true;
	if(ok(x+1,y)&&ok(x-1,y)&&ok(x,y-1)&&ok(x,y+1)){
		cnt=0;
	}
	for(int i=0;i<4;i++){
		int xx=x+idx[i];
		int yy=y+idy[i];
		if(ok(xx,yy)&&!vis[xx][yy]){
			dfs(xx,yy);
		}
	}
	a[x][y]='.';
	return cnt;
}
void solve() {
     cin>>n;
     for(int i=1;i<=n;i++)
     for(int j=1;j<=n;j++)
     cin>>a[i][j];
     
     for(int i=1;i<=n;i++)
     for(int j=1;j<=n;j++)
     if(ok(i,j)&&!vis[i][j]){
     	cnt=1;
     	ans+=dfs(i,j);
	 }
	 cout<<ans<<"\n";
}
int main() {

	ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    solve();
	return 0;
}

over~文章来源地址https://www.toymoban.com/news/detail-595634.html

到了这里,关于[洛谷]P8662 [蓝桥杯 2018 省 AB] 全球变暖(dfs)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 蓝桥杯C++AB算法辅导

    很不错的解释 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ)

    2023年04月09日
    浏览(86)
  • 蓝桥杯算法心得——仙界诅咒(dfs)

    大家好,我是晴天学长,搜索型的dfs,差点开二维矩阵了,仔细一想,没那么夸张啊,哈哈哈,需要的小伙伴可以关注支持一下哦!后续会继续更新的。💪💪💪 1) .仙界诅咒 仙境诅咒 问题描述 在一片神秘的仙境中,有N位修仙者,他们各自在仙境中独立修炼,拥有自己独特

    2024年02月04日
    浏览(27)
  • 蓝桥杯算法竞赛系列第五章——拔高篇之深度优先搜索(DFS)

    欢迎回到:遇见蓝桥遇见你,不负代码不负卿!  目录 一、引入:深度优先搜索(DFS)  二、经典例题 例题1.二叉搜索树的范围和 题目描述 题解 代码执行 例题2.岛屿数量  题目描述 题解 代码执行 例题3.背包问题 题目描述 题解 代码执行 三、思考题 四、蓝桥结语:遇见蓝

    2023年04月09日
    浏览(36)
  • [蓝桥杯 2013 省 AB] 错误票据

    某涉密单位下发了某种票据,并要在年终全部收回。 每张票据有唯一的 ID 号,全年所有票据的 ID 号是连续的,但 ID 的开始数码是随机选定的。因为工作人员疏忽,在录入 ID 号的时候发生了一处错误,造成了某个 ID 断号,另外一个 ID 重号。 你的任务是通过编程,找出断号

    2024年02月01日
    浏览(30)
  • [蓝桥杯 2018 国 B] 矩阵求和

    经过重重笔试面试的考验,小明成功进入 Macrohard 公司工作。 今天小明的任务是填满这么一张表: 表有 n 行 n 列,行和列的编号都从 1 算起。 其中第 ii 行第 jj 个元素的值是 gcd(i,j) 的平方,gcd 表示最大公约数,以下是这个表的前四行的前四列: 小明突然冒出一个

    2024年02月08日
    浏览(27)
  • 【DFS专题】深度优先搜索 “暴搜”优质题单推荐 10道题(C++ | 洛谷 | acwing)

    【DFS专题】优质题单推荐 10道题(C++ | 洛谷 | acwing) 来自b站大佬的题单 题单链接 每个位置选什么数 与全排列的差别就是第二个for循环开始的位置,换句话说就是每个数该放什么位置。 参数 : 前u个数 选 or 不选 的 需要保存第x位置的状态的时候就需要用st数组来存状态 i

    2023年04月08日
    浏览(39)
  • 最短路:P8674 [蓝桥杯 2018 国 B] 调手表

    小明买了块高端大气上档次的电子手表,他正准备调时间呢。 在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。 大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0,那么按一下按钮就会变成 1,再按一次

    2024年02月14日
    浏览(27)
  • P8719 [蓝桥杯 2020 省 AB2] 字串排序题解

    根据题目意思,我们构造的字符串需要满足冒泡排序交换次数为 V V V 次,越短越好的情况下输出字典序最小的那一个。于是我们先从字符串的长度开始考虑。 如何求字符串的最短长度是多少 设字符串长度为 l e n len l e n , 若该长度的字符串能构造出的最大交换数 ≥ V geq V ≥

    2024年02月08日
    浏览(49)
  • 蓝桥杯备赛 | 洛谷做题打卡day5

    题目描述 小 K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小 K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。 假设洛谷

    2024年01月17日
    浏览(45)
  • 蓝桥杯备赛 | 洛谷做题打卡day4

    高精度加法,相当于 a+b problem, 不用考虑负数 。 分两行输入。 a , b ≤ 1 0 500 a,b leq 10^{500} a , b ≤ 1 0 500 。 输出只有一行,代表 a + b a+b a + b 的值。 样例输入 #1 样例输出 #1 样例输入 #2 样例输出 #2 学会利用新知,自己多试试并尝试积攒一些固定解答方案,debug,以下是我的

    2024年01月17日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包