[补题]牛客练习56,迷宫【orz】
先上题:
思路:别被题目下到,其实就是一个dp,首先要对题目进行分析。
可得:
1. 它不会向左走, 因为向左走后,右边的格子就空了,那么就又要向右走,它就在这终老。
2. 不会向上走,因为向上走,就说明右边不通,就说明其当前一定是向右走一段后或者向下走过一段,如果向下走过一段,那么走上去没有意义。如果向右走过一段,可以先向左走。
综上所述:
臭牛牛就只能向下和向右,最后才能逃出迷宫,然后上餐桌。
所以就可以的出递推公式。
dp(i,j)表示到(i,j)这个点需要添加的障碍数。
dp(i,j)−>dp(i,j+1)向右
dp(i,j)+(mp[i][j+1]==′0′)−>dp(i+1,j);向下
ac代码:
1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #define INF 0x3f3f3f3f 5 using namespace std; 6 constexpr size_t maxn = 1005; 7 string s[maxn]; 8 int dp[maxn][maxn]; 9 10 int main(){ 11 int n, m; 12 cin >> n >> m; 13 for(int i = 0; i < n; ++ i) 14 cin >> s[i]; 15 memset(dp, INF, sizeof(dp)); 16 17 dp[0][0] = 0; 18 for(int i = 0; i < n; ++ i){ 19 for(int j = 0; j < m; ++ j){ 20 if(s[i][j] == '0'){ 21 if(j < m-1 && s[i][j+1] == '0')//向右 22 dp[i][j+1] = min(dp[i][j+1], dp[i][j]); 23 if(i < n-1 && s[i + 1][j] == '0'){ 24 if(j == m - 1 || s[i][j+1] == '1')//如果右边直接是障碍物 25 dp[i+1][j] = min(dp[i+1][j], dp[i][j]); 26 else 27 dp[i+1][j] = min(dp[i+1][j], dp[i][j] + 1);//添加障碍物将右边堵上。 28 } 29 } 30 } 31 } 32 if(dp[n-1][m-1] == INF)puts("-1"); 33 else 34 cout << dp[n-1][m-1] << endl; 35 return 0; 36 }
[补题]牛客练习56,迷宫【orz】相关推荐
- 【Java/补题/牛客/ACM赛制】2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛(正式赛)
文章目录 题目链接 知识一览 题目列表 快输 C - GCD(数论分块) 题目链接 2021年ICPC国际大学生程序设计竞赛暨陕西省第九届大学生程序设计竞赛(正式赛) 知识一览 01-数论分块 题目列 ...
- 刷题记录:牛客NC15434wyh的迷宫
传送门:牛客 题目描述: 给你一个n*m的迷宫,这个迷宫中有以下几个标识: s代表起点 t代表终点 x代表障碍物 .代表空地 现在你们涵哥想知道能不能从起点走到终点不碰到障碍物(只能上下左右进行移动, ...
- SQL每日一题 牛客17 10月的新客户单价和获客成本
试题链接10月的新户客单价和获客成本_牛客题霸_牛客网 分析排行榜第一名的解法 用窗口函数与join连接两个表格来做(要把大象装冰箱,拢共分五步) 第一步:用rank()over()窗口函数按照时间排 ...
- 思维题-牛客网-强迫症的序列
题目: 链接:https://ac.nowcoder.com/acm/contest/90/J?&headNav=www 来源:牛客网 题目描述 牛客网是IT求职神器,提供海量C++.JAVA ...
- 集训队脱单大法:这是一道只能由学姐我自己出数据的水题(牛客竞赛)
链接:https://ac.nowcoder.com/acm/contest/322/F 来源:牛客网 题目描述 总所不周知!ZZZZone有了女朋友却谁也不知道.但是ZZZZone在集训队总是和陈大 ...
- 牛客练习赛56 A-小蒟和他的乐谱
链接:https://ac.nowcoder.com/acm/contest/3566/A 来源:牛客网 题目描述 小蒟上音乐课的时候,老师说宫商角徵羽(分别对应C大调的do,re,mi,sol,la ...
- 前端 300题 —— 牛客网
1 手写jsonp的实现 2 手写链表倒数第K个查找 3 http请求头,请求体,cookie在哪个里面?url在哪里面? 4 原型链的解释 5 对闭包的理解,实现一个暴露内部变量,而且外部可以访问修 ...
- 牛客练习赛 56 E tarjan 割边
A - 小蒟和他的乐谱 签到题,将原序列对 7 取模之后将序列扫描一遍就可以得到答案 不过感觉题目意思还需要理解理解 #define IO ios::sync_with_stdio(false);ci ...
- C语言入门必刷题-牛客网精选5道
目录 1.BC12 学生基本信息输入输出 2.BC89 包含数字9的数 3.BC29 开学? 4.BC77 简单计算器 5.BC140 杨辉三角 1.BC12 学生基本信息输入输出 描述 依次输入一个 ...
最新文章
- 字符编码_Windows资料
- Oracle11.2.0.4 windows32+64bit opatch工具 11.2.0.0 百度云盘下载
- 下一代Windows界面曝光!
- fast rcnn 论文解读(附代码链接)
- java 自定义注解 生成json_Java中如何创建自定义的注解
- Webpack的基本配置
- hadoop安装和配置 详解
- 电脑上最好的5个azw3阅读器
- 骰子游戏实验报告C语言,掷骰子游戏电路的设计与实现实验报告
- CVPR等会议论文集检索下载与数据库资源使用
- 清翔51单片机开发板及原理图-去年购买的
- 【全栈软件测试】二、Windows服务器(2-2)搭建web服务器(2-2-1)架设一个网站--使用四种方法
- 常用的mysql函数及在TP中使用示例
- java实现生命游戏(2维元胞自动机)
- 闲鱼最新选品技巧,快速帮你找到爆款!
- 3)数据科学的数学之序列与极限--阶乘/指数增长比较
- DELPHI资源文件使用
- Caffe 作者贾扬清:我为什么离开 Google,加入 Facebook?
- android 表情的输入 Unicode实现表情展示 无需图片素材及相关解析
- java入门~第十六天 对象数组以及集合和相关数据结构
热门文章
- Ext ColumnModel
- Win10 Hyper-V 搭建虚拟机 网络配置(简单有用)
- bzoj 4451: [Cerc2015]Frightful Formula 数学+排列组合
- 阿狸心形表白html,KDA阿狸皮肤特效评测 KDA阿狸原画预览
- 正态性检验之QQ图与PP图
- python关于类和对象说法正确的是_关于类和对象,下面说法正确的是?
- 一文了解研究大脑的技术
- Android Preference使用
- vue-cli项目引用外部CSS和JS
- DeepTables: 为结构化数据注入深度学习的洪荒之力