[作业]数池塘

devtools/2025/2/13 13:39:06/

正文:

#include <iostream>
#include <iomanip>
using namespace std;
struct Point{int x,y,v,lx,ly;Point(){};Point(int a,int b,int c ,int d,int e){x=a;y=b;v=c;lx=d;ly=e;}
};
int dx[4]={0,1,0,-1};
int dy[4]={1,0,-1,0};
char map[1000][1000];
int if_map[1000][1000]={0};
int n,m;
int p1,p2;
Point que[100000];
int qh,qe;
void print_map();
void print_road();
void bfs(int,int);
int main(){int cnt=0;cin>>n>>m;for(int i=0;i<n;i++){for(int j=0;j<m;j++){cin>>map[i][j];}}for(int i=0;i<n;i++){for(int j=0;j<m;j++){if(map[i][j]=='W'){bfs(i,j);cnt++;}}}cout<<cnt<<endl;return 0;
}
void print_map(){for(int i=0;i<n;i++){for(int j=0;j<n;j++){cout<<setw(4)<<if_map[i][j];}cout<<endl;}
}
void print_road(){int r[1000][2];int lr=0;int p=qh;while(p>=0){r[lr][0]=que[p].x;r[lr][1]=que[p].y;lr++;int tmp[2]={que[p].lx,que[p].ly};if(p==0)p--;while(!(que[p].x==tmp[0]&&que[p].y==tmp[1])&&p>0){p--;}}cout<<"("<<r[lr-1][0]+1<<','<<r[lr-1][1]+1<<")";for(int i=lr-2;i>=0;i--){cout<<"->("<<r[i][0]+1<<','<<r[i][1]+1<<")";}
}
void bfs(int x,int y){qh=0,qe=1;que[qe-1]=Point(x,y,1,-1,-1);map[x][y]='.';while(qh!=qe){for(int d=0;d<4;d++){int nx=dx[d]+que[qh].x;int ny=dy[d]+que[qh].y;if(map[nx][ny]=='W'&&nx>=0&&ny>=0&&nx<n&&ny<m){map[nx][ny]='.';que[qe]=Point(nx,ny,que[qh].v+1,que[qh].x,que[qh].y);qe++;}}qh++;}
}


http://www.ppmy.cn/devtools/158490.html

相关文章

AI大模型零基础学习(4):私有化部署与企业级应用——打造你的专属智能大脑

从“公共API调用”到“自主可控”的跨越式升级 一、为什么企业需要私有化大模型&#xff1f; 1.1 三大核心诉求 数据安全&#xff1a;防止敏感商业数据&#xff08;客户信息/财务报告/研发文档&#xff09;外流 合规要求&#xff1a;满足GDPR、等保三级等数据本地化存储规范 …

Transformer解码器终极指南:从Masked Attention到Cross-Attention的PyTorch逐行实现

Transformer 解码器深度解读 代码实战 1. 解码器核心作用 Transformer 解码器的核心任务是基于编码器的语义表示逐步生成目标序列&#xff08;如翻译结果、文本续写&#xff09;。它通过 掩码自注意力 和 编码器-解码器交叉注意力&#xff0c;实现自回归生成并融合源序列信息…

GAIA介绍

项目地址&#xff1a;https://microsoft.github.io/GAIA/ 论文地址&#xff1a;https://arxiv.org/pdf/2311.15230.pdf GAIA&#xff08;Generative AI for Avatar&#xff09;是由微软团队提出的一种零样本说话头像生成框架&#xff0c;旨在通过输入语音和单张肖像图像生成自…

【天梯赛】L2-001紧急救援(用迪杰斯特拉找出权重和最小的最短路径)

解题反思 尝试DFS&#xff1a;开始使用DFS来遍历求解&#xff0c;但 DFS 存在大量重复计算&#xff0c;像同一节点会被多次访问并重复计算路径信息&#xff0c;导致时间复杂度高&#xff0c;部分测试点未通过 改用迪杰斯特拉&#xff1a;为了求解&#xff0c;设置了很多的辅助…

【Cocos TypeScript 零基础 15.1】

目录 见缝插针UI脚本针脚本球脚本心得_旋转心得_更改父节点心得_缓动动画成品展示图 见缝插针 本人只是看了老师的大纲,中途不明白不会的时候再去看的视频 所以代码可能与老师代码有出入 SIKI_学院_点击跳转 UI脚本 import { _decorator, Camera, color, Component, directo…

算法很美笔记(Java)——树

性质 树 上面的性质因为两个结点由一条边连成 结点数目越多&#xff0c;算法复杂度越高 二叉树 结构 层次遍历 利用队列&#xff0c;弹一个&#xff0c;加N个&#xff08;队列里弹出一个元素&#xff0c;就把这个元素的所有孩子加进去&#xff09; 具体来说&#xff1a;指…

开发完的小程序如何分包

好几次了&#xff0c;终于想起来写个笔记记一下 我最开始并不会给小程序分包&#xff0c;然后我就各种搜&#xff0c;发现讲的基本上都是开发之前的小程序分包&#xff0c;可是我都开发完要发布了&#xff0c;提示我说主包太大需要分包&#xff0c;所以我就不会了。。。 好了…

Office/WPS接入DeepSeek等多个AI工具,开启办公新模式!

在现代职场中&#xff0c;Office办公套件已成为工作和学习的必备工具&#xff0c;其功能强大但复杂&#xff0c;熟练掌握需要系统的学习。为了简化操作&#xff0c;使每个人都能轻松使用各种功能&#xff0c;市场上涌现出各类办公插件。这些插件不仅提升了用户体验&#xff0c;…