TYVJ 1074 武士风度的牛
easy BFS 注意输入是反的就OK了
#include <cstdio>
#include <iostream>
#include <queue>
using namespace std;
int n,m,sx,sy,ex,ey,vis[666][666];
char a[666][666];
int xx[]={1,-1,2,-2,1,-1,2,-2},yy[]={2,-2,1,-1,-2,2,-1,1};
queue<int> q,w;
int bfs(int x,int y)
{
q.push(x);w.push(y);
while(!q.empty())
{
int tempx=q.front(),tempy=w.front();
q.pop();w.pop();
for(int i=0;i<=7;i++)
{
int dx=tempx+xx[i],dy=tempy+yy[i];
if(!vis[dx][dy]&&(a[dx][dy]=='.'||a[dx][dy]=='H'))
{
vis[dx][dy]=vis[tempx][tempy]+1;
if(dx==ex&&dy==ey) return vis[tempx][tempy]+1;
q.push(dx);w.push(dy);
}
}
}
}
int main()
{
scanf("%d%d",&m,&n);
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
if(a[i][j]=='K') {sx=i;sy=j;}
else if(a[i][j]=='H'){ex=i;ey=j;}
}
}
printf("%d",bfs(sx,sy));
}
TYVJ 1074 武士风度的牛的更多相关文章
- TYVJ P1074 武士风度的牛 Label:跳马问题
背景 农民John有很多牛,他想交易其中一头被Don称为The Knight的牛.这头牛有一个独一无二的超能力,在农场里像Knight一样地跳(就是我们熟悉的象棋中马的走法).虽然这头神奇的牛不能跳到 ...
- CH2906 武士风度的牛(算竞进阶习题)
水..... 直接bfs... #include <bits/stdc++.h> #define INF 0x3f3f3f3f using namespace std; typedef l ...
- 带你学习Flood Fill算法与最短路模型
一.Flood Fill(连通块问题) 0.简介 Flood Fill(洪水覆盖) 可以在线性的时间复杂内,找到某个点所在的连通块! 注:基于宽搜的思想,深搜也可以做但可能会爆栈 flood fill ...
- AcWing 【算法提高课】笔记02——搜索
搜索进阶 22.4.14 (PS:还有 字串变换 A*两题 生日蛋糕 回转游戏 没做) 感觉暂时用不上 BFS 1. Flood Fill 在线性时间复杂度内,找到某个点所在的连通块 思路 统计连通块 ...
- douban_转自熊博网——牛逼顿
转自熊博网——牛逼顿 来自: 天云之叶(大道易得,小术难求) 2010-04-21 18:32:27 牛逼顿 作者:singularitys 3月28号是牛顿的忌日,但是知道的人很少,我们毕竟更关心沈 ...
- [Tyvj Jan]青蛙跳荷叶
题目限制 时间限制 内存限制 评测方式 题目来源 1000ms 131072KiB 标准比较器 Local 题目描述 从前,有一个小青蛙决定去荷叶上练习跳跃.现在有n个荷叶排成一排,小青蛙一开始在最左 ...
- 说一说python的牛比与不爽
本人写了10年php了.今年开始改写python了.不是说php有什么不好,php在自己的势力范围内还是很牛比的.只是我已经不能满足于php那两亩地了. 习惯了脚本,所以很自然就过度到python了. ...
- discuz接入七牛sdk
自己摸索了几天,找群里面的人各种问,都没有一个人回答我,哎,国内的开源精神呢...... 需要修改有以下几个: 1.替换 /source/class/class_core.php 文件 解释:就 ...
- 别语言之争了,最牛逼的语言不是.NET,也不是JAVA!
谁都不用说,博客园明显的偏.NET,C#的讨论一出现,推荐讨论热火朝天,而发点JAVA的东西,应者寥寥.一旦有出现两大派系的竞争,那绝对是头条.每天都看,早就麻木了. 研二的我浸淫.NET已经三四年, ...
随机推荐
- wampserver You don't have permission to access / on this server. 解决 方法(转,正好碰到这样的事情了就转下来)
最近在安装最近版wampserver 2.2 d时发现安装好后启动服务器,访问localhost显示You don't have permission to access / on this serv ...
- Redis redis-cli常用操作
一.安装 二.连接 在bin目录下./redis-cli -p port -a password 授权auth password 查看是否连接成功 ping PONG表示连接成功 三.键值相关命令 k ...
- setColorFilter()滤镜
----------转载于:http://blog.sina.com.cn/s/blog_5da93c8f01012pkj.html 通过setColorFilter可以实现滤镜效果. 如: ...
- spring+mongo
一.程序结构
- UI里的UIActionSheet按钮
1.效果图:分别为有短信分享 无短信分享 -(void)viewDidLoad{ //添加按钮 UIButton *share ...
- 运用js解决java selenium元素定位问题
一.解决定位并操作uneditable元素 尝试了通过id,xpath等等定位元素后点击都提示Element is not clickable at point 再看了下可以click的元素发现上面有 ...
- linux 下mysql的安装,并设置必要的密码
首先,我使用的是redhat linux ,版本号为: [root@localhost init.d]# cat /proc/version Linux version - (bhcompile@po ...
- 在python中使用matplotlib中的Matplotlib-Animation “No MovieWriters Available”
在使用官方的示例代码中,一部分使用了ffmpeg 在执行时会报如题一样的错误 解决: 下载windows的版本,解压,然后将bin目录加入系统环境变量的路径中 如:D:\Program Files\f ...
- ALV表头HTML实现
FORM frm_html_top_of_page USING cl_dd TYPE REF TO cl_dd_document. DATA: m_p TYPE i. DATA: m_buff TYP ...
- RabbitMQ基础概念详细介绍
http://blog.csdn.net/column/details/rabbitmq.html 转至:http://www.ostest.cn/archives/497 引言 你是否遇到过两个(多 ...