BZOJ 3406 乳草的入侵
2024-10-10 18:24:42
BFS。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#define maxn 150
using namespace std;
queue <int> q;
int n,m,mx,my,map[maxn][maxn];
int dx[]={,-,-,-,,,,,},dy[]={,-,,,,,,-,-};
char s[maxn];
bool judge(int x,int y)
{
if ((x>=) && (x<=n) && (y>=) && (y<=m))
return true;
return false;
}
int bfs()
{
int mmx=;
q.push(mx);q.push(my);q.push();map[mx][my]=;
while (!q.empty())
{
int hx,hy,step;
hx=q.front();q.pop();hy=q.front();q.pop();step=q.front();q.pop();
for (int i=;i<=;i++)
{
int nowx=hx+dx[i],nowy=hy+dy[i];
if ((judge(nowx,nowy)) && (!map[nowx][nowy]))
{
map[nowx][nowy]=;
mmx=max(mmx,step+);
q.push(nowx);q.push(nowy);q.push(step+);
}
}
}
return mmx;
}
int main()
{
scanf("%d%d%d%d",&m,&n,&mx,&my);
swap(mx,my);mx=n-mx+;
for (int i=;i<=n;i++)
{
scanf("%s",s);
for (int j=;j<m;j++)
if (s[j]=='*') map[i][j+]=;
}
printf("%d\n",bfs());
return ;
}
最新文章
- curl模拟post,get,put,delete
- 整理的一些PHP面试题目
- 餐厅外卖app第三天
- C语言中常量
- ResourceBundle使用
- String比较
- MVC小系列(十七)【自定义验证规则给下拉框】
- Java 基本日期类使用——格式化(二)
- asp.net学习视频资料地址链接
- Python 单向链表、双向链表
- 密码疑云 (2)——RSA加密机制需要的数学知识
- leetcode — spiral-matrix
- 转 PV、TPS、QPS 计算方法
- HTML5的manifest 本地离线缓存
- Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
- 稀疏 部分 Checkout
- 20155227 2016-2017-2 《Java程序设计》第五周学习总结
- windows下PHP不能开启pgsql扩展的解决方法
- HihoCoder - 1051:补提交卡
- ubuntu &#39;yuan&#39; update