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

Codesforces 329B Biridian Forest 题解

题目链接

Codesforces 329B Biridian Forest

思路分析

首先题目中让饲养员根据你自己的行动而行动,较为复杂,考虑简化。我们发现无论自己怎么走,最后一步且为必经之路就是出口。所以我们可以让饲养员全部堆到出口守着你。

所以,我们先用 bfs 跑一个以出口为起点的单源最短路,统计能在你到达出口前到达出口(包括同时)的饲养员数量即可。代码如下,时间复杂度 \(O(n^2)\)

代码呈现

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;const int N=1010;
int r,c,sx,sy,ex,ey;
int a[N][N],dis[N][N],dx[]={1,-1,0,0},dy[]={0,0,1,-1};void bfs(int sx,int sy){ // 单源最短路queue<pii> q;memset(dis,0x3f,sizeof dis);q.push({sx,sy}),dis[sx][sy]=0;while (!q.empty()){pii u=q.front();q.pop();for (int i=0;i<4;++i){int nx=u.first+dx[i],ny=u.second+dy[i],ns=dis[u.first][u.second]+1;if (nx>0 && nx<=r && ny>0 && ny<=c && a[nx][ny]!=-1 && dis[nx][ny]>ns)dis[nx][ny]=ns,q.push({nx,ny});}}
}
int main(){scanf("%d%d",&r,&c);for (int i=1;i<=r;++i){for (int j=1;j<=c;++j){char ch;scanf(" %c",&ch);if (ch=='T') a[i][j]=-1;else if (ch=='S') sx=i,sy=j;else if (ch=='E') ex=i,ey=j;else a[i][j]=ch-'0';}}bfs(ex,ey);int ans=0;for (int i=1;i<=r;++i){ // 统计for (int j=1;j<=c;++j){if (dis[i][j]<=dis[sx][sy] && (i!=sx || j!=sy)) ans+=a[i][j];}}printf("%d",ans);return 0;
}
http://www.jsqmd.com/news/330654/

相关文章:

  • WebAssembly技术解析:在浏览器中运行C++程序的完整方案
  • Docker容器安全最佳实践:镜像扫描与运行时防护策略
  • AI技术革新学术研究,开题报告的完善工作更轻松高效
  • AI驱动的开题报告改进,为学术研究提供高效解决方案
  • AI 学习与实战系列:RAG 入门与实践全指南
  • AI助力开题报告优化,使学术研究更加省时省力
  • RAG 入门与实践指南
  • Apache Kafka架构设计原理:构建千万级消息队列系统
  • 实战教程:基于TensorFlow构建图像分类模型的完整流程
  • AI赋能学术研究,开题报告的优化过程更加智能化
  • Redis缓存设计与数据库一致性保障方案深度剖析
  • 如何利用React Hooks优化前端组件性能与代码结构
  • 利用AI提升开题报告质量,大幅减少人工修改时间
  • 深入解析Kafka消息队列在高并发场景下的应用策略
  • JetBrains Academy(Hyperskill)插件报错IDE is currently running outside of our known port range解决方法
  • 从代码行数到配置项:低代码效率革命
  • 儿童补钙喝什么牛奶?2026年儿童补钙牛奶推荐最新出炉
  • 寒假第十天
  • 智能仪器仪表读数识别 圆形表盘指针分割识别 智慧电力电表识别 电流计读数 电压及识别 深度学习仪表读数第10472期
  • 阿里云存储自定义域名
  • 高性能刹车卡钳优质品牌推荐指南
  • 【面试题】Java中,String str=new String(“abc“);创建了几个对象?
  • 设计竞品分析简易工具,录入竞品信息,对比价格优势,用户评价,找出差异化卖点,生成分析报告,帮创业者打造核心竞争力。
  • Python数据科学:利用Pandas与NumPy进行高效数据清洗
  • 【电路笔记】-非稳态多谐振荡器
  • 代码重构指南:优化建议系统
  • 动态加载字节码
  • 6款AI论文神器实测:文献综述一键生成,真实文献交叉引用,效率飙升!
  • 从 0 到 1:基于 Spring Boot 3 + LangChain4j 构建企业级 AI 应用实战
  • 如何处理Redis集群数据倾斜?