引爆炸弹

引爆炸弹在一个n×m的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。输入格式第一行输两个整数n

大家好,又见面了,我是你们的朋友全栈君。

在一个n×m 的方格地图上,某些方格上放置着炸弹。手动引爆一个炸弹以后,炸弹会把炸弹所在的行和列上的所有炸弹引爆,被引爆的炸弹又能引爆其他炸弹,这样连锁下去。

输入格式

第一行输两个整数 n,m用空格隔开。
接下来 n 行,每行输入一个长度为 m 的,表示地图信息。0表示没有炸弹,1表示炸弹。

样例输入 

5 5
00010
00010
01001
10001
01000

样例输出 :2

#include <stdio.h>
#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;
const double PI=acos(-1.0);
int n,m;
int ans;
int a[105][105];
bool vx[105],vy[105];
void dfs(int x,int y){
    a[x][y]=0;
    if(!vx[x]){
     vx[x]=1;
for(int i=0;i<m;i++){ if(a[x][i]==1){ dfs(x,i); } } } if(!vy[y]){
     vx[y]=1;
for(int i=0;i<n;i++){ if(a[i][y]==1){ dfs(i,y); } } } } int main(){ cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ cin>>a[i][j]; } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a[i][j]==1){ ans++; dfs(i,j); } } } cout<<ans; return 0; }

 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155191.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TkMapper(通用mapper)「建议收藏」

    TkMapper(通用mapper)「建议收藏」TkMapper的配置及使用  TkMapper主要是做单标查询,复杂的多表查询我们还得自己写sql。使用的是Springboot框架使用的数据库表ums_permision:idpidnamevalueicontypeuristatuscreate_timesort10商品nullnull0null12018-09-2916:…

    2022年10月6日
    0
  • springaop与aspectjweaver

    springaop与aspectjweaverorg.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname’sysScheduleUserDateServiceImpl’definedinURL[jar:file:/C:/Users/Administrator/.m2/repository/com/ruoyi/ruoyi-schedule-one/3.4.0/ruoyi-schedule-one-3.4.0.jar!/com/ruo

    2022年7月12日
    27
  • goland 激活码 2021[在线序列号]

    goland 激活码 2021[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    46
  • java executeupdate_执行完executeUpdate()方法…-体系课

    java executeupdate_执行完executeUpdate()方法…-体系课如题:Servlet代码如下:packagejdbcHomeWork;importjava.io.IOException;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;importjavax.servlet.ServletException;importja…

    2022年10月20日
    0
  • RT-thread finsh组件工作流程[通俗易懂]

    RT-thread finsh组件工作流程[通俗易懂]finsh是RT-Thread的命令行外壳(shell),提供一套供用户在命令行的操作接口,主要用于调试、查看系统信息。在大部分嵌入式系统中,一般开发调试都使用硬件调试器和printf日志打印,在有些情况下,这两种方式并不是那么好用。比如对于RT-Thread这个多线程系统,我们想知道某个时刻系统中的线程运行状态、手动控制系统状态。如果有一个shell,就可以输入命令,直接相应的函数执行获得需要的

    2022年5月21日
    35
  • Hackbar PJ

    Hackbar PJ前言:今天准备用hackbar时,竟然收费了,于是上网搜索如何破解,这里教给大家方法:不管Mac还是Windows,方法都一样,就是要找到hackbar的安装路径,修改其内部hackbar-panel.js的配置文件步骤:这里我以Windows为例访问路径:C:\Users\你的用户名\AppData\Local\Google\Chrome\UserData\…

    2022年4月30日
    74

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号