bfs

#include<iostream>
#include<queue>
#include<cstring>
#include<cstdio>
using namespace std;
const int dx[]={-,,,},dy[]={,,-,};
queue<int>q;
int n,m,ans,x,y;
int used[][];
char board[][];
void bfs(int a,int b)
{
q.push(a);q.push(b);
used[a][b]=;
while(!q.empty())
{
int x=q.front();q.pop();
int y=q.front();q.pop();
for(int i=;i<;i++)
{
int xx=x+dx[i];
int yy=y+dy[i];
if(board[xx][yy]=='-')
{
ans++;break;
}
}
for(int i=;i<;i++)
{
int xx=x+dx[i],yy=y+dy[i];
if(!used[xx][yy]&&board[xx][yy]=='+')
{
q.push(xx);q.push(yy);used[xx][yy]=;
}
}
}
}
int main()
{
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
cin>>n>>m;
memset(used,,sizeof(used));
memset(board,'',sizeof(board));
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
{
cin>>board[i][j];
used[i][j]=;
if(board[i][j]=='+')
{
x=i;y=j;
}
}
bfs(x,y);
cout<<ans<<endl;
fclose(stdin);
fclose(stdout);
return ;
}

100114B的更多相关文章

随机推荐

  1. NOIP水题合集[3/未完待续]

    NOIP2008pj传球游戏 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球, ...

  2. WCF添加服务失败一则

    原因是本机开发IIS没有安装HTTPS证书 将红色的字注释掉就好了! <services> <service behaviorConfiguration="basicSer ...

  3. ubuntu12.04安装搜狗输入法和配置

    1.安装 参考http://hi.baidu.com/lowkey2046/item/7ff8b33abe492bd06d15e9b6 2.配置 当前系统语言默认为英语 1)点击右上角的键盘按钮-&g ...

  4. Java:对象的强、软、弱和虚引用

    1.对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK ...

  5. MySQL的mysql_insert_id和LAST_INSERT_ID(转)

    本文介绍的是mysql中last_insert_id和mysql_insert_id的区别 1 mysql_insert_id 一.PHP获取MYSQL新插入数据的ID mysql_insert_id ...

  6. single-write-database-connection

    http://ithare.com/ultimate-db-heresy-single-db-connection-part-i-performance-part-ii-scalability-to- ...

  7. Linux 退格键不回显

    在程序使用system("stty erase ^H");可以实现在输入状态下,按退格键删除字符,不回显. 调用tcsetattr修改linux基本输入的控制字符定义 //Linu ...

  8. vertical-align 笔记

    一些属性解释. 几个自己认为常用到的属性 baseline:默认 数值,px 百分比等是元素相对于基线偏移值,负数为向下偏移,正数为向上: text-top:把用vertical属性元素的顶端与父元素 ...

  9. 清北学堂2017NOIP冬令营入学测试P4747 D’s problem(d)

    时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题 描述 题目描述 小D是一名魔法师,它最喜欢干的事就是对批判记者了. 这次记者招待会上,记者对 ...

  10. 前端见微知著番外篇:GIT舍我其谁?

    在上一篇中,我们讲到了利用纯UI的软件如何实现代码的提交.但是在MAC机器上,是没有turtoiseGit这类软件的,所以利用命令行的方式就是我们的首选了. 下面我们来描述两种主要的Git使用场景: ...