题目链接:https://www.luogu.org/problemnew/show/P2385

莲花池什么的最漂亮啦!

最近刷了两天搜索= =我搜索一直是弱菜

直接套bfs

 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n, m, m1, m2, sx, sy, ex, ey;
struct point{
int x, y, t;
}q[];
int ma[][];
int fx[];
int fy[];
void bfs()
{
int tail = ,head = ;
q[head].x = sx, q[head].y = sy, q[head].t = ;
while(head!=tail)
{
for(int i = ; i <= ; i++)
{
int nowx = q[head].x + fx[i];
int nowy = q[head].y + fy[i];
if(nowx == ex && nowy == ey)
{
printf("%d",q[head].t+);
return ;
}
if(nowx > m || nowx <= || nowy > n || nowy <= || ma[nowx][nowy] == ) continue;
ma[nowx][nowy] = ;
q[tail].x = nowx;
q[tail].y = nowy;
q[tail].t = q[head].t + ;
tail++;
}
head++;
} }
int main()
{
memset(ma,,sizeof(ma));
scanf("%d%d%d%d",&m,&n,&m1,&m2);
for(int i = ; i <= m; i++)
for(int j = ; j <= n; j++)
{
scanf("%d",&ma[i][j]);
if(ma[i][j]==)
{
sx = i;
sy = j;
}
if(ma[i][j]==)
{
ex = i;
ey = j;
}
if(ma[i][j] == )
{
ma[i][j] = ;
}
}
fx[] = m1, fx[] = m1, fx[] = -m1, fx[] = -m1, fx[] = m2, fx[] = m2, fx[] = -m2, fx[] = -m2;
fy[] = m2, fy[] = -m2, fy[] = m2, fy[] = -m2, fy[] = m1, fy[] = -m1, fy[] = m1, fy[] = -m1;
bfs();
return ;
}

最新文章

  1. 1、开篇:公司管理经验谈 - CEO之公司管理经验谈
  2. 自己动手制作CSharp编译器
  3. EditText 焦点
  4. xxx.java: Recompile with -Xlint:deprecation for details
  5. openStack centos6.4
  6. 基于visual Studio2013解决C语言竞赛题之1024求和
  7. JVM学习(1)——通过实例总结Java虚拟机的运行机制(转)
  8. SpringMVC + Spring 3.2.14 + Hibernate 3.6.10
  9. python 基础篇第一篇
  10. CF #335 div1 A. Sorting Railway Cars
  11. CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data译文
  12. linux-echo
  13. 妙谈js回调函数的理解!
  14. sap 最新财报以及云业务转型情况
  15. nginx 启动报错403
  16. 6.26实力测试(小错笑cry)
  17. [转]SQL Collation冲突解决 临时表
  18. Html、Asp、Php、Jsp禁止页面缓存
  19. Laravel学习之旅(二)
  20. codevs 2577 医院设置

热门文章

  1. ztree框架使用问题汇总
  2. unity3d发布到安卓平台
  3. unity 热更新方案ILRuntime
  4. IBM Rational Appscan: Part 2 ---reference
  5. nyoj 791——Color the fence——————【贪心】
  6. 记自己的hexo个人博客
  7. 【Linux相识相知】rpm包管理
  8. sql 创建用户脚本
  9. markdown语法简单总结
  10. 4.net两种交互模式