C - Popcorn(abs358)

题意:有n个摊子,m个爆米花,想花费最少去的店铺买到所有的口味的爆米花,找到每一列都为‘o’的最少行数。

分析:用dfs寻找最少路径

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char x;int a[20][20];int n,m;
int vis[20]={0};int ans=500;
void dfs(int x,int y,int cnt){//超时 
    if(y>=m){
        ans=min(ans,cnt);
        return;
    }
    for(int i=1;i<=n;i++){
        if(a[i][y+1]==1){
            if(vis[i]==0){
                vis[i]=1;
                dfs(i,y+1,cnt+1);
                vis[i]=0;    
            }
            else{
                dfs(i,y+1,cnt);
            }
        }
    }
}
int main(){
    ios::sync_with_stdio(false);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>x;
            if(x=='o')a[i][j]=1;
            else a[i][j]=0;
        }
    }
    for(int i=1;i<=n;i++){
        if(a[i][1]==1){
            vis[i]=1;
            dfs(i,1,1);
            vis[i]=0;
        }
    }
    cout<<ans<<endl; 
}然后超时咯

不能一个一个深搜 那就一行一行搜

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
char xx;int a[20][20];int n,m;
int vis[20]={0};int ans=500;
void dfs(int x,int cnt){
    if(x>n){
        for(int i=1;i<=m;i++){
            if(vis[i]==0)return;
        }
        ans=min(ans,cnt);
        return; 
    }
    dfs(x+1,cnt);//不去
    for(int i=1;i<=m;i++){
        if(a[x][i]==1)vis[i]++;
    }
    dfs(x+1,cnt+1);//去 
    for(int i=1;i<=m;i++){
        if(a[x][i]==1)vis[i]--;
    }
}
int main(){
    ios::sync_with_stdio(false);
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>xx;
            if(xx=='o')a[i][j]=1;
            else a[i][j]=0;
        }
    }
    dfs(1,0);
    cout<<ans<<endl; 
}

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

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

相关文章

后台运行大师:HarmonyOS 3.0中如何轻松设置APP常驻后台

有不少人想要让某些常用的APP直接挂在后台&#xff0c;减少应用程序自动关闭的情况。这种需求&#xff0c;其实就是希望APP能够“保持在后台运行”。 本篇文章用14张图片、7大步骤&#xff0c;讲解手机如何将某个APP保持在后台运行。图片直接使用的是华为手机HarmonyOS 3.0的手…

ComfyUI教程,如何在 ComfyUI 中如何制作高质量白底图,一篇文章教会你!

前言 做电商的朋友都知道&#xff0c;一般平台都会有白底图的要求&#xff0c;在上传白底图后&#xff0c;商品在首页分类页、搜索分类页、品牌馆、电器城等场景中会有更多的露出机会&#xff0c;可能会获得更多的用户流量。 制作白底图本质就是要先抠图&#xff0c;一些抠图…

stm32学习笔记---USART串口协议(理论部分)

目录 通信 通信的目的 通信协议 STM32的通信协议 各种协议的通信引脚介绍 通信空间和时间 时钟特性 电平特性 设备特性 串口通信 硬件电路 电平标准 串口参数及时序 时序 串口的参数 串口通信的实际波形 声明&#xff1a;本专栏是本人跟着B站江科大的视频的学习…

Vision Transformer论文阅读笔记

目录 An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale -- Vision Transformer摘要Introduction—简介RELATED WORK—相关工作METHOD—方法VISION TRANSFORMER (VIT)—视觉Transformer(ViT) 分析与评估PRE-TRAINING DATA REQUIREMENTS—预训练数据…

VS2022+Qt+OpenCV Debug模式下,循环中格式转换引起的内存异常问题 debug_heap.cpp

文章目录 前言一、问题二、报错1.提示图片2.提示堆栈3.反汇编位置 三、解决办法总结 前言 最近在使用VS2022&#xff0c;C&#xff0c;OpenCV&#xff0c;Qt开发时&#xff0c;遇到了一个疑难杂症-在循环中执行字符串格式转换会触发内存异常&#xff0c;经过痛苦的排查过程&am…

React@16.x(46)路由v5.x(11)源码(3)- 实现 Router

目录 1&#xff0c;Router 的结构2&#xff0c;实现2.1&#xff0c;react-router1&#xff0c;matchPath.js2&#xff0c;Router.js3&#xff0c;RouterContext.jsx4&#xff0c;index.jsx 2.2&#xff0c;react-router-domBrowserRouter.jsxindex.jsx 1&#xff0c;Router 的结…

编译libvlccpp

首先下载vlc sdk https://get.videolan.org/vlc/3.0.9.2/win64/vlc-3.0.9.2-win64.7z Cmake 生成libvlccpp vs2022工程文件 编译libvlccpp 编译出错需修改代码 错误信息&#xff1a; \VLC\sdk\include\vlc/libvlc_media.h(368): error C2065: “libvlc_media_read_cb”: 未…

rabbitmq消息队列提出的问题(个人想法)

目录 1.消息队列顺序1.交换机的作用 2.消息队列中为什么有消息缓冲区的存在 如果不存在会怎么样消息缓冲区的存在原因不存在消息缓冲区的后果 3.那内存与磁盘之间存在缓冲区有什么作用一、减少磁盘I/O次数二、提高数据传输效率三、减少对CPU的占用四、增强系统稳定性与可靠性 4…

老师家访的主要内容

在教育的广阔天地中&#xff0c;家访无疑是一座连接学校与家庭的桥梁。为何要进行家访&#xff1f;这不仅仅是一个简单的问题&#xff0c;它背后蕴含着教育者对孩子们成长环境的深切关怀。作为一位教师&#xff0c;我深知家访的重要性&#xff0c;它不仅能够让我更全面地了解学…

【回溯算法经典题目解析】

1. 什么是回溯算法 回溯算法是⼀种经典的递归算法&#xff0c;通常用于解决组合问题、排列问题和搜索问题等。 回溯算法的基本思想&#xff1a;从一个初始状态开始&#xff0c;按照⼀定的规则向前搜索&#xff0c;当搜索到某个状态⽆法前进时&#xff0c;回退到前⼀个状态&am…

Linux下的蓝牙开发

参考&#xff1a; bluetooth在linux应用开发 - yuxi_o - 博客园 (cnblogs.com) linux下蓝牙开发(bluez应用) - 那一抹风 - 博客园 (cnblogs.com) Linux内核蓝牙子系统架构 HCI层 / HCl连接 / L2CAP / BNEP / 蓝牙数据包接收架构_哔哩哔哩_bilibili 【蓝牙】一文入门Bluez的…

cesium 聚合

cesium 聚合(下面附有源码) 示例代码 <html lang="en"><head><!-- Use correct character set. -->

【智能算法】目标检测算法

目录 一、目标检测算法分类 二、 常见目标检测算法及matlab代码实现 2.1 R-CNN 2.1.1 定义 2.1.2 matlab代码实现 2.2 Fast R-CNN 2.2.1 定义 2.2.2 matlab代码实现 2.3 Faster R-CNN 2.3.1 定义 2.3.2 matlab代码实现 2.4 YOLO 2.4.1 定义 2.4.2 matlab代码实现…

电信NR零流量小区处理

【摘要】随着目前网络建设逐步完善&#xff0c;5G用户的不断发展&#xff0c;针对零流量小区的分析及处理存在着必要性&#xff0c;零流量小区的出现既是用户分布及行为的直观体现&#xff0c;也是发展用户的一个指引&#xff0c;同时也能发现设备的一些故障。一个站点的能够带…

【数值计算库-超长笔记】Python-Mpmath库:高精度数值计算

原文链接&#xff1a;https://www.cnblogs.com/aksoam/p/18279394 更多精彩&#xff0c;关注博客园主页&#xff0c;不断学习&#xff01;不断进步&#xff01; 我的主页 csdn很少看私信&#xff0c;有事请b站私信 博客园主页-发文字笔记-常用 有限元鹰的主页 内容&#xf…

燃料电池混合电源的能量管理系统

这个例子显示了燃料电池混合电源的能量管理系统。 这个例子展示了燃料电池混合电源的能量管理系统。 电路描述 本文给出了基于燃料电池的多电动飞机应急动力系统的仿真模型。随着MEA中起落架和飞控系统的电气化程度的提高&#xff0c;常规应急电源系统(冲压式空气涡轮或空气驱…

希尔伯特基定理

【引理1】&#xff08;Dickson定理&#xff09; 对于 ∀ A ⊂ N n \forall A \subset \mathbb{N}^{n} ∀A⊂Nn&#xff0c; ∃ \exists ∃有限非空集 B ⊂ A B \subset A B⊂A&#xff0c;使得 ⟨ x A ⟩ ⟨ x B ⟩ \left\langle x^{A} \right\rangle \left\langle x^{B} \ri…

代码随想录算法训练营第20天 | 题目: 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

代码随想录算法训练营第20天 | 题目&#xff1a; 235. 二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 文章来源&#xff1a;代码随想录 题目名称&#xff1a; 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的…

强对抗的SquidLoader针对中国企业发起攻击

2024 年 4 月下旬&#xff0c;研究人员观察到一些特别的钓鱼邮件附件&#xff0c;文件名为「华为工业级路由器相关产品介绍和优秀客户案例」。顺藤摸瓜发现一系列以中国企业/组织名称命名的恶意附件&#xff0c;如「中国移动集团XX分公司」、「嘉X智能科技」与「XX水利技术学院…

Centos7部署Mysql8.0超级详细教程,一看就会!

1、准备 下载 Mysql 安装包源信息,去到这个网址&#xff0c;https://dev.mysql.com/downloads/repo/yum/ 复制红色框的内容&#xff0c; 2、开始安装 # 以下所有操作建议切换到 root 用户后运行。。yum install wget -y# 将上面的复制内容粘贴到后面&#xff0c;格式&…