3376:【例65.2】 清除地雷

3376:【例65.2】 清除地雷

信息学奥赛一本通-编程启蒙(C++版)在线评测系统

[例 65.2] 清除地雷

信息学奥赛一本通-编程启蒙(C++版)在线评测系统




/*
3376:【例65.2】 清除地雷
http://bas.ssoier.cn:8086/problem_show.php?pid=3376

计蒜客信息学 6 月编程新赛 D题
https://blog.csdn.net/qq_51687579/article/details/119106145
*/
#include<bits/stdc++.h>
using namespace std;
char a[105][105];  //字符数组 储存地图 
int n,m;
void fun(int x,int y)  //递归函数 
{
	a[x][y]='2';      //字符换为2表示已经引爆 
	int up=max(x-1,1),down=min(x+1,n);   //确定上下位置 
	int l=max(y-1,1),r=min(y+1,m);      //确定左右位置 
	for(int i=up;i<=down;i++)
	{
		for(int j=l;j<=r;j++)
		{
			if(x==i&&y==j)   //遍历到自身位置跳过 
			continue;
		
			if(a[i][j]=='1')
			{
				fun(i,j);
			}
			else
			{
				a[i][j]='2';
			}
		}
	}
} 
int main()
{

	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	int x,y;
	
	cin>>x>>y;
	if(a[x][y]=='0')  //判断0或1  如果为0则原样输出 
	{
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				cout<<a[i][j];
			}
			cout<<endl;
		}
	}
	else   //可以引爆 
	{
		fun(x,y);     //递归函数 
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=m;j++)
			{
				cout<<a[i][j];
			}
			cout<<endl;
		}		
	}
	return 0;
}



 




《信息学奥赛一本通 编程启蒙 C++版》 3441-3450(8题)

《信息学奥赛一本通 编程启蒙 C++版》 3441-3450(8题)_信息学奥赛 c++编程题目-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3451-3456(5题)

《信息学奥赛一本通 编程启蒙C++版》3451-3456(5题)_3451:【例82.1】不吉利日期-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3456-3460(5题)

《信息学奥赛一本通 编程启蒙C++版》3456-3460(5题)_3460:【例83.4】最大公约数和最小公倍数-CSDN博客

《信息学奥赛一本通 编程启蒙 C++版》 3451-3460(10题)

《信息学奥赛一本通 编程启蒙 C++版》 3451-3460(10题)_3452:【例82.2】 座次问题-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3461-3465(5题)

《信息学奥赛一本通 编程启蒙C++版》3461-3465(5题)_3461:练83.1 压缩歌曲-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3466-3470(5题)

《信息学奥赛一本通 编程启蒙C++版》3466-3470(5题)_练84.2 光荣的梦想 c++-CSDN博客

《信息学奥赛一本通 编程启蒙 C++版》 3461-3470(10题)

《信息学奥赛一本通 编程启蒙 C++版》 3461-3470(10题)_信奥赛一本通启-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3471-3475(5题)

《信息学奥赛一本通 编程启蒙C++版》3471-3475(5题)_3472:【例85.3】 过河问题-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3476-3480(5题)

《信息学奥赛一本通 编程启蒙C++版》3476-3480(5题)_3480:练86.1 旅行-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3481-3482(2题)

《信息学奥赛一本通 编程启蒙C++版》3481-3482(2题)_3481:练86.2 采药问题-CSDN博客

《信息学奥赛一本通 编程启蒙 C++版》 3471-3482(12题)

《信息学奥赛一本通 编程启蒙 C++版》 3471-3482(12题)_信奥一本通初赛版pdf-CSDN博客

《信息学奥赛一本通 编程启蒙C++版》3001-3482

《信息学奥赛一本通 编程启蒙C++版》3001-3482_信息学奥赛一本通第几版有答案3165--3185-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dllglvzhenfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值