【非原创】codeforces 1063B Labyrinth 【01bfs】
学习博客:戳这里
附本人代码:
1 #include <bits/stdc++.h>
2 using namespace std;
3 typedef long long ll;
4 const int maxn = 2e3 + 10;
5 const ll mod = 998244353;
6 char st[maxn][maxn];
7 int vis[maxn][maxn];
8 int dx[11]={1,-1, 0, 0};
9 int dy[11]={0, 0, 1,-1};
10 const int inf = 0x3f3f3f3f;
11 struct nod{
12 int x, y;
13 };
14 int main() {
15
16 int n, m;
17 int r, c;
18 int X, Y;
19 scanf("%d %d", &n, &m);
20 scanf("%d %d", &r, &c);
21 scanf("%d %d", &X, &Y);
22 for(int i = 1; i <= n; ++i) {
23 scanf("%s", st[i]+1);
24 }
25 memset(vis, inf, sizeof(vis));
26 deque<nod>q;
27 nod u, v;
28 u.x = r, u.y = c;
29 q.push_front(u);
30 vis[u.x][u.y] = 0;
31 while(!q.empty()) {
32 u = q.front(); q.pop_front();
33 for(int i = 0; i < 4; ++i) {
34 int xx = u.x + dx[i];
35 int yy = u.y + dy[i];
36 if(xx >= 1 && xx <= n && yy >= 1 && yy <= m && st[xx][yy] != '*') {
37 if(vis[u.x][u.y] + (i==2) < vis[xx][yy]) {
38 vis[xx][yy] = vis[u.x][u.y] + (i==2);
39 v.x = xx, v.y = yy;
40 if(i == 2) q.push_back(v);
41 else q.push_front(v);
42 }
43 }
44 }
45 }
46 int ans = 0;
47 for(int i = 1; i <= n; ++i) {
48 for(int j = 1; j <= m; ++j) {
49 if(vis[i][j] <= Y && vis[i][j] - j + c <= X) {
50 // printf("%d %d %d\n", vis[i][j], i, j);
51 ++ans;
52 }
53 }
54 }
55 printf("%d\n", ans);
56 return 0;
57 }
【非原创】codeforces 1063B Labyrinth 【01bfs】的更多相关文章
- CodeForces 1063B. Labyrinth 性质
给定$n *m$的格子 询问从$(r, c)$开始最多向左走$x$步,向右走$y$步 询问有多少个格子可以从$(r, c)$到达 有障碍物,$n, m \leqslant 2 * 10^3$ 对于一个 ...
- [Codeforces Round #516][Codeforces 1063B/1064D. Labyrinth]
题目链接:1063B - Labyrinth/1064D - Labyrinth 题目大意:给定一个\(n\times m\)的图,有若干个点不能走,上下走无限制,向左和向右走的次数分别被限制为\(x ...
- Linux下high CPU分析心得【非原创】
非原创,搬运至此以作笔记, 原地址:http://www.cnitblog.com/houcy/archive/2012/11/28/86801.html 1.用top命令查看哪个进程占用CPU高ga ...
- CSS样式命名整理(非原创)
非原创,具体出自哪里忘了,如果侵害您的利益,请联系我. CSS样式命名整理 页面结构 容器: container/wrap 整体宽度:wrapper 页头:header 内容:content 页面主体 ...
- 非原创。使用ajax加载控件
非原创.来自博客园老赵. public class ViewManager<T> where T : System.Web.UI.UserControl { private System. ...
- Java 表达式解析(非原创)
因项目需要,在网上找来一套表达式解析方法,由于原来的方法太过于零散,不利于移植,现在整理在同一文件内: 文件中包含5个内部类,源码如下: import java.util.ArrayList; imp ...
- Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创)
Java Interface 是常量存放的最佳地点吗?(转帖学习,非原创) 由于java interface中声明的字段在编译时会自动加上static final的修饰符,即声明为常量.因而inter ...
- 用RD,GR,BL三个方法内代码生成一张图片(非原创,我只是完整了代码)
我公开以下图片的源代码,,是ppm格式的,,自己找到能打开的工具.. (非原创,我加工的代码,可直接执行运行输出,缩略图能看到效果) 这是原博客 http://news.cnblogs.com/n/ ...
- tp5.1 phpspreadsheet- 工具类 导入导出(整合优化,非原创,抄一抄,加了一些自己的东西,)
phpspreadsheet-工具类 导入导出(整合优化,非原创,抄一抄,加了一些自己的东西)1. composer require phpoffice/phpspreadsheet2. 看最下面的两 ...
随机推荐
- Junit测试和反射
Junit单元测试 测试分类 黑盒测试:不需要写代码,给输入值,看程序能否得到输出期望值. 白盒测试:需要些代码,关注程序具体的执行流程. Junit的使用 步骤 定义一个测试类(测试用例). 定义测 ...
- PE节表
- YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. data = yaml.load(file_data)
YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsa ...
- TCP半连接队列和全连接
概述 如上图所示, 在TCP三次握手中,服务器维护一个半连接队列(sync queue) 和一个全连接队列(accept queue). 当服务端接收到客户端第一次SYN握手请求时,将创建的req ...
- SpringMVC听课笔记(SpringMVC 表单标签 & 处理静态资源)
1.springmvc表单标签,可以快速开发,表单回显,但是感触不深 2.静态资源的获取,主要是要配置这个
- okhttp踩坑
ResponseBody.string() 平常我们用的客户端http调用工具一般是RestTemplate,HttpClient,okhttp,以前使用过前两者,没咋接触过okhttp,我看公司 ...
- chrome标签记录——关于各类性能优化
概述 详情 概述 平时经常浏览各大博客,总感觉要学习和需要学习的内容太多太多,而自己的个人能力还不足够写出一些好的文章出来,就只能通过学习他人的东西不断提升自己的实力,然后就会记录收藏各种优秀的博客资 ...
- 后台获取日期值,前台Js对日期进行操作
需求描述: 方法一: 方法二: 一些标签常用隐藏方法: 需求描述: 在初始化页面的时候,需要根据系统当前的时间对前台JSP页面的某项进行值的初始化,若前台JSP标签没有相关可以初始化的属性,那么可以从 ...
- 深信服edr控制中心漏洞——验证码逻辑错误
验证码逻辑错误 文件:tool/log/l.php的第93行
- f5添加多个vlan的方法
1.方法一 方法二: F5不更改配置,核心添加路由 ip route 10.160.101.0 255.255.255.0 10.160.100.10