当前位置: 首页 > news >正文

双端队列的0-1BFS

问题:
B. Labyrinth
代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define fi first
#define se second
#define vi vector<int>
#define vll vector<long long>
#define pii pair<int,int>
#define endl '\n'
#define MOD 1000000007
const int N=2e5+5,INF=1e18;void solve(){int n,m,r,c,x,y;cin>>n>>m>>r>>c>>x>>y;vector<string>g(n);for(int i=0;i<n;i++) cin>>g[i];int sr=r-1,sc=c-1;vector<vi>dist(n,vi(m,INF));deque<pii>dq;dist[sr][sc]=0;dq.emplace_front(sr,sc);int dr[4]={-1,1,0,0};//左右上下int dc[4]={0,0,1,-1};while(!dq.empty()){auto [i,j]=dq.front();dq.pop_front();int cur=dist[i][j];for(int k=0;k<4;k++){int ni=i+dr[k],nj=j+dc[k];if(ni<0||ni>=n||nj<0||nj>=m) continue;if(g[ni][nj]=='*') continue;int add=(k==3)?1:0;if(cur+add<dist[ni][nj]){dist[ni][nj]=cur+add;if(add==0) dq.emplace_front(ni,nj);else dq.emplace_back(ni,nj);}}}int ans=0;for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(dist[i][j]==INF) continue;int L=dist[i][j];int cd=j-sc;int R=L+cd;if(L<=x&&R>=0&&R<=y) ans++;}}cout<<ans<<endl;
}signed main(){ios::sync_with_stdio(false);cin.tie(0);int T=1;
//	cin>>T;while(T--)solve();return 0;
}
http://www.jsqmd.com/news/12222/

相关文章:

  • Python psycopg2 类库使用学习总结
  • [GenAI] RAG架构演进
  • 多后端服务器架构解析 - 教程
  • PWN手的成长之路-15-jarvisoj_level2_x64
  • 2025.10.12——1绿
  • 价值博弈场的工程实现:构建数字文明的价值免疫系统——声明Ai生成
  • 基于 Rust 的英文数字验证码识别系统设计与实现
  • 2025年两联供室内机厂家最新权威推荐榜:技术实力与市场口碑
  • 2025武汉商铺装修防水厂家最新权威推荐榜:专业施工与品质保
  • 2025铝合金微弧氧化厂家权威推荐榜:表面处理技术实力深度解
  • 2025杉木木方厂家最新权威推荐榜:优质木材与稳定供应口碑之
  • 2025年厂房保养厂家最新权威推荐榜:专业维护与成本控制优选
  • 使用C语言实现重写stm32的启动文件
  • LeetCode 387 字符串中的第一个唯一字符 Swift 题解:用哈希表快速定位不重复字符 - 指南
  • 详细介绍:基于微信小程序的智能在线预约挂号系统【2026最新】
  • 让我们开始 CSS 的学习之旅
  • 2025液压无损扒胎机厂家权威推荐榜:高效无损与耐用性能深度
  • Linux环境下的UDEV机制及其与守护进程的关联
  • 在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
  • [转] 基于ubuntu-base进行根文件系统的修改与打包
  • jquery 字符串转数字
  • AI圈每日技术学习---紧跟时代脚步(N8n工作流)
  • B -识别浮点常量问题
  • 小C语言--词法分析程序-A
  • 查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
  • IS-IS核心解析:驱动现代网络的隐形力量 - 教程
  • 梳理一下Java中为保证线程安全提供了那些方案 - 浪矢
  • 处理Git错误:“invalid object [hash]”和“unable to read tree [hash]”
  • 2025厂房恒温恒湿设备厂家权威推荐榜:精准控温与节能技术深
  • ABC 427 EF