HDUOJ--------(1312)Red and Black
Red and Black
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 6905 Accepted Submission(s): 4384
Write a program to count the number of black tiles which he can reach by repeating the moves described above.
There are H more lines in the data set, each of which includes W characters. Each character represents the color of a tile as follows.
'.' - a black tile '#' - a red tile '@' - a man on a black tile(appears exactly once in a data set)
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<deque>
#include<iostream>
#define maxn 25
using namespace std;
char maze[maxn][maxn];
int w,h;
/*建立方向树*/
struct node
{
int x,y;
}start;
/*搜索方向*/
int dir[][]=
{
{,},
{,-},
{-,},
{,}
};
void bfs()
{
/*入队,出队用*/
deque<node>q;
/*暂存位置*/
node q1,q2;
q.push_back(start);
while(!q.empty())
{
q1=q.front ();
q.pop_front();
for(int i=;i<;i++)
{
q2.x=q1.x+dir[i][];
q2.y=q1.y+dir[i][];
if(q2.x>h||q2.x<||q2.y>w||q2.y<||maze[q2.x][q2.y]=='#'||maze[q2.x][q2.y]=='p') /*return ;*/
; /*啥也不干,就这么一个逗号....*/
else
{
if(maze[q2.x][q2.y]=='.')
maze[q2.x][q2.y]='p'; /*就暂时用P来代表占位置吧!*/
/*入队*/
q.push_back (q2);
}
}
}
}
int main()
{
int i,j,ans;
while(scanf("%d%d",&w,&h),h+w)
{
getchar();
memset(maze,'\0',sizeof(maze));
for(i=;i<=h;i++)
{
for(j=;j<=w;j++)
{
scanf("%c",&maze[i][j]);
if(maze[i][j]=='@')
{
start.x=i;
start.y=j;
maze[i][j]='#';
}
}
getchar();
}
bfs();
ans=;
for(i=;i<=h;i++)
{
for(j=;j<=w;j++)
{ if(maze[i][j]=='p')
ans++;
}
}
printf("%d\n",ans);
}
return ;
}
bfs+匹配
HDUOJ--------(1312)Red and Black的更多相关文章
- 小白安装linux(虚拟机)red hat enterprise linux 6
额,这篇貌似是我名义上的第一篇博客,但是我好像没有第一写他,没事,都一样.(我会假装它是人生中第一篇博客的) 上大学之后,很久之后才发现自己听喜欢linux的,因为感觉很高大上,所以自己自学了很多关于 ...
- Unix/Linux环境C编程入门教程(19)Red Hat Entetprise Linux 7.0环境搭建
位架构,包括英特尔X-86_64.Power和s390.动态定时能力将降低内核内部中断数量,Open vSwitch 2.0功能可调节虚拟机之间的流量.RHEL 7中默认的文件系统是XFS,包含了一个 ...
- HDU1312 / POJ1979 / ZOJ2165 Red and Black(红与黑) 解题报告
题目链接:pid=1312" target="_blank">HDU1312 / POJ1979 / ZOJ2165 Red and Black(红与黑) Red ...
- (转)JQuery处理json与ajax返回JSON实例
son数据是一种经型的实时数据交互的数据存储方法,使用到最多的应该是ajax与json配合使用了,下面我来给大家介绍jquery处理json数据方法. 一.JSON的一些基础知识. JSON中对象通过 ...
- Docker学习总结(一)
<认识Docker> 不定期更新~~~~~~~ 历史区别: 13年之前:网络大多使用"协议栈堆叠"的形式进行开发,需要部署单一专有的服务器进行操作.包括(中间件,运行时 ...
- (转)粒子编辑器Particle designer属性的介绍
转载:http://blog.csdn.net/ym19860303/article/details/9210539 Particle designer粒子编辑器可到这里下载(包含授权码):http: ...
- 新年抢红包效果(New Year Red Packet)
新年抢红包效果(New Year Red Packet) 晓娜的文章(微信公众号:migufe) 2016即将过去,我们将迎来新的一年2017,这里小编提前祝大家新年快乐!万事如意!那我们新年最开心的 ...
- POJ 1979 Red and Black (红与黑)
POJ 1979 Red and Black (红与黑) Time Limit: 1000MS Memory Limit: 30000K Description 题目描述 There is a ...
- Luogu 1312 【NOIP2011】玛雅游戏 (搜索)
Luogu 1312 [NOIP2011]玛雅游戏 (搜索) Description Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个7行5列的棋盘,上面堆放着一些方块,方块不能悬空 ...
- red hat 7 启动过程(EFI)
不同版本的Linux系统的启动过程在某些地方是不一样的,现在先来介绍一下red hat 7 的启动过程(EFI). (加电→图形登录界面) 接通电源 按下电源键 EFI固件启动 初始化硬件 从EFI启 ...
随机推荐
- post文件的html
<HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual Studio& ...
- java单个方法达到了65536字节的限制
可以使方法更小的一件事是关闭调试.打开调试时,每一行(带代码)都有一个标记该行的语句. 不.重构代码.没有方法应该那么久.永远. Write small methods! 说真的:任何IDE都会指导您 ...
- 完全理解Gson(1):简单入门
GSON是Google开发的Java API,用于转换Java对象和Json对象.本文讨论并提供了使用API的简单代码示例.更多关于GSON的API可以访问:http://sites.google.c ...
- 论文神器Latex30分钟快速入门教程-只需9步向学神看齐
小E说:工欲善其事,必先利其器.立志做个安静的美学霸的你,学会Latex,一定能使你的论文写作事半功倍. 1.LaTeX软件的安装和使用 方法A(自助):在MikTeX的官网下载免费的MikTeX编译 ...
- 显示Mysql中的所有用户
在mysql中如何显示所有用户? 1.show databases显示所有数据库 2.show tables显示所有数据表 3.select current_user();显示当前用户 4.显示所有用 ...
- MySQL中limit的用法
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset LIMIT 子句可以被用于强制 SELECT 语句返回指定的记录数.L ...
- Python并发编程-redis-3.0.5 源码安装
1.简介 Remote Dictionary Server(Redis)是一个基于 key-value 键值对的持久化数据库存储系统.redis 和 Memcached 缓存服务很像,但它支持存储的 ...
- [leetcode]Binary Tree Level Order Traversal II @ Python
原题地址:http://oj.leetcode.com/problems/binary-tree-level-order-traversal-ii/ 题意: Given a binary tree, ...
- procedure
create or replace procedure get_username as begin v_id in number:=1 select * from uc_t_staff t where ...
- DEDE标签综合
dede: sql标签: sql标签可以称得上是个万能标签了,查询数据库将其输出,这里介绍一些关于这个标签的用法: 1.用来输出统计内容,这个是不错的,举个例子,我们来统计下总共发了多少的文章,思路就 ...