其实是很水的一道bfs题,昨晚比赛的时候没看清题意,漏了一个条件。

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<vector>
#define maxn
#define INF 1000000000
using namespace std;
int vist[][];
char str[][];
int dirx[]={-,,,};
int diry[]={,,,-};
int m,n,stx,sty,edx,edy;
int judge(int x,int y)
{
if(x>=&&x<n&&y>=&&y<m)
return ;
return ;
}
int bfs()
{
queue<int> q;
stx--;
sty--;edx--;edy--;
int num=stx*m+sty;
q.push(num);
//vist[stx][sty]--;就改的这个地方,因为起点和终点有可能相同
while(!q.empty())
{
num=q.front();
//printf("%d==\n",num);
q.pop();
int xx=num/m;
int yy=num%m; for(int i=;i<;i++)
{
int newx=xx+dirx[i];
int newy=yy+diry[i];
if(newx==edx&&newy==edy&&vist[newx][newy]==)
return ;
if(judge(newx,newy)&&vist[newx][newy]>)
{
q.push(newx*m+newy);
vist[newx][newy]--;
}
}
}
//printf("==\n");
return ; }
int main()
{
scanf("%d %d",&n,&m);
for(int i=;i<n;i++)
scanf("%s",str[i]);
scanf("%d %d",&stx,&sty);
scanf("%d %d",&edx,&edy);
for(int i=;i<n;i++)
{
for(int j=;j<m;j++)
{
if(str[i][j]=='X')
vist[i][j]=;
else
vist[i][j]=;
}
}
if(bfs())
printf("YES\n");
else
printf("NO\n");
return ;
}

最新文章

  1. Android:Activity+Fragment及它们之间的数据交换.
  2. 解析大型.NET ERP系统架构设计 Framework+ Application 设计模式
  3. [moka同学摘录]SQL内联、外联的简单理解
  4. Redis学习笔记~实现消息队列比MSMQ更方便
  5. android-时间选择器和日期选择器
  6. js验证函数摘录
  7. hdu1269 强连通
  8. android loadlibrary 更改libPath 路径,指定路径加载.so
  9. Request对象 --web浏览器向web服务端的请求
  10. 【集美大学1411_助教博客】团队作业6——展示博客(Alpha版本)
  11. Oracle之 11gR2 RAC 修改监听器端口号的步骤
  12. [SDOI2015]星际战争
  13. C# 10分钟完成百度人脸识别——入门篇
  14. [原]CentOS7安装Rancher2.1并部署kubernetes (三)---解决登录kubernets超时和部署测试Pod和Containter[nginx为例]
  15. OC学习笔记
  16. Eigen子矩阵操作
  17. Codeforces gym101612 E.Equal Numbers(贪心)
  18. 【文件】使用word的xml模板生成.doc文件
  19. 命名空间与Autoload
  20. [转]MySQL DBA面试全揭秘

热门文章

  1. spring中配置jdbc数据源
  2. 一步步学习JSON
  3. ubuntu安装vim
  4. Win7 Print Spooler服務自动关闭
  5. SQL Server 索引介绍
  6. 在ubunut下使用pycharm和eclipse进行python远程调试
  7. 解决json跨域时错误:SyntaxError: invalid label
  8. SharePoint安全 - SharePoint网站常用页面URL索引
  9. linux下文件系统的介绍
  10. 理解NSTextContainer