思路:求边权为0,1的最短路

代码:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <deque>
using namespace std;const int N = 1010;#define x first
#define y secondtypedef pair<int, int> PII;bool g[N][N],st[N][N];
int dis[N][N];int bfs(int sx,int sy){deque<PII> q;q.push_back({sx,sy});int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};memset(dis,0x3f,sizeof dis);dis[sx][sy]=0;while(q.size()){auto t=q.front();q.pop_front();if(st[t.x][t.y]) continue;st[t.x][t.y]=true;if(!t.x&&!t.y) break;for(int i=0;i<4;i++){int x=t.x+dx[i];int y=t.y+dy[i];if(x>=0&&x<N&&y>=0&&y<N){int w=0;if(g[x][y]) w=1;if(dis[x][y]>dis[t.x][t.y]+w){dis[x][y]=dis[t.x][t.y]+w;if(!w) q.push_front({x,y});else q.push_back({x,y});}}}}return dis[0][0];
}int main()
{int n,sx,sy;scanf("%d%d%d", &n, &sx ,&sy);while (n -- ){int x,y;scanf("%d%d", &x, &y);g[x][y]=true;}printf("%d\n",bfs(sx,sy));
}

AcWing 2019. 拖拉机相关推荐

  1. AcWing 2019. 拖拉机(双端BFS)

    题目链接 https://www.acwing.com/problem/content/2021/ 思路 一个有0代价和1代价边权的最短路,我们用双端队列将0和1边权用一个双端队列分开存储,然后进行一 ...

  2. AcWing 2019. 拖拉机(双端队列BFS)

    [题目描述] 干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了. 他的奶牛非常调皮,决定对约翰来场恶作剧. 她们在田地的不同地方放了NNN捆干草,这样一来,约翰想要开走拖拉机就必须先移除一些 ...

  3. 【双端队列广搜/搜索+图论】AcWing 2019.拖拉机 USACO 2012 March Contest Silver Division

    [题目描述] 干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了. 他的奶牛非常调皮,决定对约翰来场恶作剧. 她们在田地的不同地方放了 NNN 捆干草,这样一来,约翰想要开走拖拉机就必须先移除 ...

  4. 2019 拖拉机(双端队列广搜)

    1. 问题描述: 干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了.他的奶牛非常调皮,决定对约翰来场恶作剧.她们在田地的不同地方放了 N 捆干草,这样一来,约翰想要开走拖拉机就必须先移除一些 ...

  5. AcWing2022寒假每日一题(1 月 2 日 ~ 1 月 15 日)

    目录 1/2 AcWing 2058. 笨拙的手指 1/3 (前缀和)AcWing 2041. 干草堆 1/4 (dfs暴力枚举)AcWing 2060. 奶牛选美 1/5 (bfs)AcWing 2 ...

  6. AcWing2022寒假每日一题(1 月 2 日 ~ 1 月 6 日)

    目录 1/2 AcWing 2058. 笨拙的手指 1/3 AcWing 2041. 干草堆 1/4 AcWing 2060. 奶牛选美 1/5 AcWing 2019. 拖拉机 1/6 AcWing ...

  7. AcWing寒假每日一题2022-第1周

    week 1: 2058.笨拙的手指 2041.干草堆 2060.奶牛选美 2019.拖拉机 2014.岛 2058.笨拙的手指 一.问题描述 奶牛贝茜正在学习如何在不同进制之间转换数字.但是她总是犯 ...

  8. 寒假每日一题2022【week1 完结】

    目录 2058. 笨拙的手指[枚举] 2041. 干草堆[差分] 2060. 奶牛选美[dfs + 思维] 2019. 拖拉机[双端队列] 2014. 岛[思维+离散化] 2005. 马蹄铁[dfs] ...

  9. 2022.01.05 Acwing寒假每日一题 拖拉机

    1.题目拖拉机 干了一整天的活,农夫约翰完全忘记了他把拖拉机落在田地中央了. 他的奶牛非常调皮,决定对约翰来场恶作剧. 她们在田地的不同地方放了 N 捆干草,这样一来,约翰想要开走拖拉机就必须先移除一 ...

  10. 拖拉机也将自动驾驶,日本劳动力短缺大力发展无人农业

    来源 | HyperAI超神经 责编 | 晋兆雨 头图 | CSDN付费下载自视觉中国 内容提要:为解决农业劳动力短缺问题,日本近年来涌现出自动收割机.插秧机等自动化农业设备.近日,其农机生产商久保田 ...

最新文章

  1. HTML初级知识点总结(1.0)
  2. 033_NavMenu导航菜单
  3. Java联网技术之一HTTP
  4. 在SQL Navigator 中做 oracle pl/sql SQL分析
  5. 07/08_flink shell,基本原理及应用场景、特点、架构图、集群解剖、JobManager、TaskManagers、tasks和操作链、Session/job集群、组件介绍等、应用场景
  6. 封神-性能容量分析报告
  7. webform计算某几列结果_大数据测试场景科普 流计算篇 (上)
  8. 正视苦难,民族的心灵史——1942
  9. 详细User-Agent大全
  10. koreader下载_Koreader阅读器app免费安装最新版|Koreader阅读器2018手机最新版下载_v1.0_9ht安卓下载...
  11. 红色警戒2修改器原理百科(八)
  12. #matplotlib#如何设置坐标轴显示时间的范围
  13. verilog练习:hdlbits网站上的做题笔记(6)
  14. python列表中的索引问题:从左到右由0开始;从右到左由-1开始
  15. 公众号代运营与自运营相比,优势体现在哪些方面?
  16. 卡顿老笔记本换新颜--增加内存条(内存条如何选购终极总结)
  17. 2021-09-18P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布P2058 [NOIP2016 普及组] 海港
  18. Photoshop制作闹钟
  19. 【FPGA笔记系列13】呼吸灯电路设计
  20. 苹果usbc音频android,苹果USB-C音频线Android手机能用么?实测10款手机仅1款不支持...

热门文章

  1. win10安装过程修改esp分区吗_WIN10系统安装失败一例
  2. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xfe in position 198369: illegal multibyte sequenc
  3. NX/UG二次开发—CAM—获取、修改程式的切削参数
  4. Ubuntu中修改Home目录下中文目录为英文
  5. 惠普服务器装系统ESXI,在惠普服务器上安装ESXI 5.5卡在LSI_MR3.V00的解决方案
  6. 完美解决excel科学计数法导入数据库处理方法
  7. 企业微信推送 - news 推送方式
  8. 越南大老二,游戏规则说明
  9. 一步一步使用webpack+react+scss脚手架重构项目
  10. 如何带领好一个销售团队