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

伞兵 钓鱼的肝

题目描述

为了在敌国渗透作战,指挥官决定:派出伞兵前往敌国!然而敌国的风十分强烈,能让伞兵在同一高度不停转悠,直到被刮到一个无风区……

输入格式

第一行两个整数 n,m,表示敌国的大小。

以下 n 行,每行 m 个字符,u 表示风向北吹;d 表示风向南吹;l 表示风向西吹;r 表示风向东吹;o 表示无风。(上北下南,左西右东)

输出格式

一个数:表示有几个点可以放下伞兵。

样例 #1

样例输入 #1

5 5
rrrrr
rdddr
rroll
uuuuu
uuuuu

样例输出 #1

19

提示

数据范围:1≤n,m≤1000

正片开始

ok,首先先分析一下样例

他的意思是

u=up=上

d=down=下

l=left=左

r=right=右

现在再使出我练习两年半的画技画出一个5*5的表格

再把数据填入表格 

 我们发现,如果按照  u上  d下  l左  r右 的走法,比如说伞兵出生在 (2,1) 的走法如下

他最终可以到达无风区o

我们可以通过模拟来解,他让我们往哪就往哪

好的,提示就到这里,现在代码答案

//csdnfishingliver diaoyudegan
#include<bits/stdc++.h>
using namespace std;
int n,m,ans;
bool vis[1005][1005];
char g[1005][1005];
void dfs(int x,int y){vis[x][y]=1;if(g[x-1][y]=='d')	dfs(x-1,y);if(g[x+1][y]=='u')	dfs(x+1,y);if(g[x][y-1]=='r')	dfs(x,y-1);if(g[x][y+1]=='l')	dfs(x,y+1);
}
int main(){cin>>n>>m;for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){cin>>g[i][j];}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(g[i][j]=='o'){vis[i][j]=1;dfs(i,j);}}}for(int i=1;i<=n;i++){for(int j=1;j<=m;j++){if(vis[i][j])	ans++;	}}cout<<ans;return 0;
}

ok这次的博文就到这里,没点关注的关注一下呗~如果可以就善意的评论壹下呗~在点个赞就更完美了~

收工! 

http://www.xdnf.cn/news/14844.html

相关文章:

  • 好用的自带AI功能的国产IDE
  • Linux 自旋锁的实现
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • Java 核心技术与框架实战十八问
  • 从0开始学习R语言--Day37--CMH检验
  • 如何将信息从 iPhone 同步到Mac(完整步骤和示意图)
  • Mac电脑 触摸板增强工具 BetterTouchTool
  • NumPy 安装使用教程
  • Qt的前端和后端过于耦合(0/7)
  • Apache POI 详解 - Java 操作 Excel/Word/PPT
  • 【网工|知识升华版|实验】5 网络质量探测
  • 【大模型学习】项目练习:文档对话助手
  • Linux开发工具——gcc/g++
  • MacOS 安装brew 国内源【超简洁步骤】
  • SpringBoot 自动配置原理
  • 优雅草蜻蜓T语音会议系统私有化部署方案与RTC技术深度解析-优雅草卓伊凡|clam
  • 金融安全生命线:用AWS EventBridge和CloudTrail构建主动式入侵检测系统
  • 跨平台开发的抉择:Flutter vs 原生安卓(Kotlin)的优劣对比与选型建议​​
  • 第五章 局域网基础
  • 网络编程学习路线
  • AI时代API挑战加剧,API安全厂商F5护航企业数字未来
  • AJAX 安装使用教程
  • 从定位到变现:创客匠人创始人IP打造的底层逻辑与实践路径
  • RediSearch 字段类型与配置选项
  • 当工业设备开始“独立思考“——AI边缘计算网关的泛在化应用
  • 分布式事务理论基础及常见解决方案
  • Linux基本命令篇 —— alias命令
  • Vue 安装使用教程
  • 【格与代数系统】格与哈斯图
  • 【1.6 漫画数据库设计实战 - 从零开始设计高性能数据库】