南外c++集训枚举题:关灯

news/2024/11/14 13:59:46/文章来源:https://www.cnblogs.com/e4ns/p/18299530

根据标题可知 这道题一定是一道枚举题
这道题考虑使用dfs,处理特殊处理第一层,每次加答案时选最优值。
给出代码:

点击查看代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
char mat[20][110];
int dfs(int cnt,int pos,int tmp)//cnt:楼层pos:哪里的楼梯tmp走到楼梯的步数
{if(cnt<0) return 0;int ans=0;if(pos){for(int i=m+2;i>=0;i--){if(mat[cnt][i]=='1'){ans+=pos-i+tmp;//计算pos=i;tmp=0;}}}else{for(int i=0;i<m+2;i++){if(mat[cnt][i]=='1'){ans+=i-pos+tmp;//计算pos=i;tmp=0;}}}ans+=min(dfs(cnt-1,0,tmp+pos+1),dfs(cnt-1,m+1,tmp+m+2-pos));//两边楼梯,两种情况取小return ans;//返回
}int main() 
{ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);while(cin>>n>>m) {for(int i=0;i<n;i++){for(int j=0;j<m+2;j++){cin>>mat[i][j];}}cout<<dfs(n-1,0,0)<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/742760.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WCP知识管理系统-免费版(v5.1.9)

5.1.9版本(最新)下载地址 登录官网查看功能描述 CP知识分享平台V5.1.9版本的更新日志,包含了bug修复、性能优化和新功能的介绍。以下是具体细节: 1. **Bug修复**: - 在纯图片模式下,点击图片后现在会展示原图而非缩略图。 - 帮助主题下的首页缩放后,不再显示下方的大块黑…

Mysql之日常运维命令总结

1、连接MySQL数据库 mysql -uroot -ppassword mysql -uroot -ppassword -h 127.0.0.1 -P 3306 mysql -uroot -ppassword -S /path/to/mysql.sock2、查看当前数据库中的会话状态 show processlist;3、查看当前数据库中的活动会话(排除掉空闲Sleep状态的会话) select * from in…

基于PSO粒子群优化的CNN-GRU的时间序列回归预测matlab仿真

1.算法运行效果图预览 (完整程序运行后无水印)2.算法运行软件版本 matlab2022a3.部分核心程序for i=1:Iterifor j=1:Npeoprng(i+j)if func_obj(x1(j,:))<pbest1(j)p1(j,:) = x1(j,:);%变量pbest1(j) = func_obj(x1(j,:));endif pbest1(j)<gbest1g1 = p1(j,:);%变量…

瓦片地图

1. 预备知识 1.1 参考椭球 地球表面是一个凸凹不平的表面,而对于地球测量而言,地表是一个无法用数学公式表达的曲面,这样的曲面不能作为测量和制图的基准面。假想一个扁率极小的椭圆,绕地球体短轴旋转所形成的规则椭球体称之为地球椭球体。 地球椭球体与地球形体非常接近,…

Profinet转Modbus模块减轻通讯编程工作量实现Modbus通讯

巴图自动化PN转Modbus模块简化Profinet与Modbus设备间通信,减轻编程工作。通过使用巴图自动化Profinet转Modbus模块(BT-MDPN10),用户无需编写复杂的通信程序或进行繁琐的协议转换,只需简单配置通讯参数。巴图自动化PN转Modbus模块(BT-MDPN10)能够实现Profinet协议与Modb…

【服务器搭建】服务器临时授权

#蜜罐 #钓鱼网站场景 服务器上的业务并不想对所有人开放,只有当对方提供IP信息后才单独对相应的IP进行授权。像这种小范围的IP授权,如果能获取到对方IP,则可以通过提前写防火墙策略,限制IP访问范围。但如果IP是动态的,比如对方的IP是互联网IP,这时就只能先等对方报自己的…

提质增效,还看拖拽式报表设计器

如果想实现提质、降本、增效等发展目标,可以随时来了解拖拽式报表设计器的相关优势特点。随着业务量的增大,传统的报表已经无法满足发展需要了,借助于低代码技术平台、拖拽式报表设计器的优势特点,可以助力摆脱信息孤岛、部门之间协作沟通不畅的弊端,实现高效增值的市场价…

K8S标签与标签选择器

目录一、标签1、简介2、为什么需要标签3、标签命名规范3.1、标签名3.2、标签的value4、标签的基本操作4.1、创建标签4.1.1、资源清单方式4.1.2、命令行方式4.2、查看标签4.2.1、查看刚才打标的两个pod4.2.2、通过标签过滤查询4.2.3、将标签显示在输出结果中4.3、添加标签4.3.1、…

环境配置

依赖库安装(opencv,ffmpeg,accllite,presentagent)+摄像头测试+i2c测试配置c++环境下载安装第三方依赖(opencv,ffmpeg,accllite,presentagent) 配置摄像头 配置i2c 下载测试代码并检验准备安装 #下载测试代码 cd ${HOME} #注意是主目录,不是/home git clone https:…

自己理解的TCP三次握手

### TCP 三次握手过程是怎样的? TCP的建立连接是通过三次握手来进行的。三次握手的过程如下图:说实话这个很好理解,我称之为N字型 首先我们理解到建立连接是一个虚的概念了对吧?那么我们来设计一个可靠的TCP,首先建立连接是必须的吧?相当于我们打电话,总要先说一句喂---wei…