【2024最新华为OD-C/D卷试题汇总】[支持在线评测] K小姐的座位分配(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员

✨ 本系列打算持续跟新华为OD-C/D卷的三语言AC题解

💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导

👏 感谢大家的订阅➕ 和 喜欢💗

📎在线评测链接

https://app5938.acapp.acwing.com.cn/contest/2/problem/OD1055

🌍 评测功能需要 订阅专栏 后私信联系清隆解锁~

🍓OJ题目截图

在这里插入图片描述

文章目录

    • 📎在线评测链接
    • 🍓OJ题目截图
    • 🍡 K小姐的座位分配
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 样例输入
      • 样例输出
      • 数据范围
      • 题解
      • 参考代码

🍡 K小姐的座位分配

问题描述

在一场大型活动中,为了满足疫情防控的要求,主办方要求观众入座时必须间隔至少一个空位。现在给出一排观众座位的分布情况,请计算在不移动已入座观众的前提下,最多还可以安排多少观众入座。

输入格式

输入一个字符串,其中 0 0 0 表示该座位没有观众, 1 1 1 表示该座位已有观众入座。字符串长度范围为 [ 1 , 10000 ] [1,10000] [1,10000]

输出格式

输出一个整数,表示在不移动已入座观众的情况下,最多还能安排的观众数量。

样例输入

10001

样例输出

1

样例输入

0101

样例输出

0

数据范围

1 ≤ 字符串长度 ≤ 10000 1 \le 字符串长度 \le 10000 1字符串长度10000

题解

为了最大化新安排的观众数量,我们可以使用贪心策略,从左到右检查每个座位。如果当前座位和相邻的左右座位都为空,则可以在此座位安排观众,并将其标记为已占用,以避免违反间隔规则。

参考代码

  • Python
def main():
    seats = input().strip()
    count = 0
    i = 0
    while i < len(seats):
        if seats[i] == '0' and (i == 0 or seats[i - 1] == '0') and (i == len(seats) - 1 or seats[i + 1] == '0'):
            count += 1
            # Mark this seat as taken to avoid violating the rules.
            if i < len(seats) - 1:
                seats = seats[:i] + '1' + seats[i+1:]
            else:
                seats = seats[:i] + '1'
            i += 2  # Move two places forward to ensure the spacing rule
        else:
            i += 1
    print(count)

if __name__ == "__main__":
    main()
  • Java
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String seats = scanner.nextLine();
        int count = 0;
        for (int i = 0; i < seats.length(); i++) {
            if (seats.charAt(i) == '0' && (i == 0 || seats.charAt(i - 1) == '0') && (i == seats.length() - 1 || seats.charAt(i + 1) == '0')) {
                count++;
                if (i < seats.length() - 1) {
                    seats = seats.substring(0, i) + '1' + seats.substring(i + 1);
                } else {
                    seats = seats.substring(0, i) + '1';
                }
                i++;  // Move forward to ensure the spacing rule
            }
        }
        System.out.println(count);
    }
}
  • Cpp
#include <iostream>
#include <string>
using namespace std;

int main() {
    string seats;
    cin >> seats;
    int count = 0;
    for (int i = 0; i < seats.size(); i++) {
        if (seats[i] == '0' && (i == 0 || seats[i - 1] == '0') && (i == seats.size() - 1 || seats[i + 1] == '0')) {
            count++;
            seats[i] = '1';  // Mark this seat as taken to avoid violating the rules.
        }
    }
    cout << count << endl;
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

42、基于神经网络的训练堆叠自编码器进行图像分类(matlab)

1、训练堆叠自编码器进行图像分类的原理及流程 基于神经网络的训练堆叠自编码器进行图像分类的原理和流程如下&#xff1a; 堆叠自编码器&#xff08;Stacked Autoencoder&#xff09;是一种无监督学习算法&#xff0c;由多个自编码器&#xff08;Autoencoder&#xff09;堆叠…

【Windows】配置Flutter开发环境

一、下载 flutter sdk 点此跳至下载官网 下载好flutter sdk&#xff0c;并解压到自定义的位置。 二、配置环境变量 此电脑 --> 右键 选择 属性 --> 点击 高级系统设置 --> 会弹出系统属性的窗口&#xff0c;点击 环境变量 按钮 1.配置加速镜像地址 PUB_HOSTED_…

IP协议的相关特性

IP协议的报文结构 如图&#xff1a; 上述的IP协议是ipv4的版本&#xff0c;如上述图中的4位版本号。 现当今的世界仅有两个版本分为ipv4和ipv6。 在这里我以ipv4来介绍IP协议。 IP协议的报头最长为60个字节&#xff0c;最短为20个字节。 如图8个服务类型&#xff1a; 这里不…

python5 正则表达式

Python中的正则表达式是一种强大的工具&#xff0c;用于在文本中搜索、匹配和处理特定模式的字符串。它们通过定义一种模式&#xff0c;使得可以轻松地搜索、替换、提取和验证文本数据&#xff0c;在Python中的正则表达式由re模块提供支持的。 正则表达式通常用于以下任务&…

【HTML01】HTML基础-基本元素-附带案例-作业

文章目录 HTML 概述学HTML到底学什么HTML的基本结构HTML的注释的作用html的语法HTML的常用标签&#xff1a;相关单词参考资料 HTML 概述 英文全称&#xff1a;Hyper Text Markup Language 中文&#xff1a;超文本标记语言&#xff0c;就将常用的50多个标记嵌入在纯文本中&…

AI办公自动化:用通义千问批量翻译长篇英语TXT文档

在deepseek中输入提示词&#xff1a; 你是一个Python编程专家&#xff0c;现在要完成一个编写基于qwen-turbo模型API和dashscope库的程序脚本&#xff0c;具体步骤如下&#xff1a; 打开文件夹&#xff1a;F:\AI自媒体内容\待翻译&#xff1b; 获取里面所有TXT文档&#xff…

【博弈】843. 猜猜这个单词

本题涉及知识点 博弈 LeetCode843. 猜猜这个单词 给你一个由 不同 字符串组成的单词列表 words &#xff0c;其中 words[i] 长度均为 6 。words 中的一个单词将被选作秘密单词 secret 。 另给你一个辅助对象 Master &#xff0c;你可以调用 Master.guess(word) 来猜单词&…

APS-SCM联动:开创生产调度与供应链管理新篇章

在当今激烈的市场产品竞争环境下&#xff0c;企业不仅需要灵活高效的内部生产流程&#xff0c;更需具备对外部环境快速响应的能力&#xff0c;从而保证产品保质保量的生产完成&#xff0c;快速占据更多的市场份额。正是在这样的背景下&#xff0c;APS&#xff08;Advanced Plan…

从社交网络到元宇宙:Facebook的战略转型

随着科技的迅猛发展和数字化时代的深入&#xff0c;社交网络已不再局限于简单的信息交流和社交互动&#xff0c;而是逐步向更广阔、更深远的虚拟现实空间——元宇宙&#xff08;Metaverse&#xff09;转变。作为全球最大的社交网络平台之一&#xff0c;Facebook正在积极推动这一…

JS安全应用

JS应用 常见分析调试&#xff1a; -代码全局搜索 案例 登录框&#xff0c;可以看到发送用户名密码被JS加密 搜索Username&#xff0c;找到加密地方 logindata.UserName encodeURI(encrypt.encrypt(numMobile));logindata.Mobile encodeURI(encrypt.encrypt(numMobile));…

Python将Markdown格式转为HTML:轻松实现博客文章的自动化处理

哈喽&#xff0c;大家好&#xff0c;我是木头左&#xff01; 引言 编写一篇高质量的博客文章并非易事&#xff0c;尤其是在排版和格式方面。Markdown作为一种轻量级的标记语言&#xff0c;为博主们提供了一种简洁、高效的写作方式。而Python作为一门强大的编程语言&#xff0c…

SpringBoot的入门案例

1、创建一个Maven工程 2、点击设置自动导入jar包 3、导入spring boot需要的依赖 打开sping boot的文档 导入依赖的pom.xml配置内容 4、创建一个spring boot的执行入口程序 5、写controller&#xff0c;service&#xff0c;dao的页面逻辑代码 6、测试&#xff0c;运行工程&#…

Repetition Improves Language Model Embeddings论文阅读笔记

文章提出了一种提高decoder-only LLM的embedding能力的方法&#xff0c;叫echo embeddingslast-token pooling&#xff08;即直接选最后一个token作为句子的embedding&#xff09;和直接mean pooling都不如文章提出的echo embedding&#xff0c;做法是把句子重复两次&#xff0…

Ardupilot开源代码之ExpressLRS性能实测方法

Ardupilot开源代码之ExpressLRS性能实测方法 1. 源由2. 测试效果3. 测试配置4. 总结5. 参考资料6. 补充 1. 源由 之前一直在讨论ExpressLRS性能的问题&#xff0c;有理论、模拟、实测。 始终缺乏完整的同一次测试的测试数据集&#xff0c;本章节将介绍如何在Ardupilot上进行获…

【Redis】内存回收和内存淘汰机制

1 概念 Redis 所有的数据都是存储在内存中的, 如果不进行任何的内存回收, 那么很容易出现内存爆满的情况。因此&#xff0c;在某些情况下需要对占用的内存空间进行释放。 Redis 中内存的释放主要分为两类 Redis 中内存的释放主要分为两类: 内存回收: 将过期的 key 清除&#…

算法训练与程序竞赛题目集合(L1)

目录 L1-001 Hello World! 输入格式: 输出格式: L1-002 打印沙漏 输入格式: 输出格式: 输入样例: 输出样例: L1-003 个位数统计 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; L1-004 计算摄氏温度 输入格式: 输出格式…

[保姆级教程]uniapp实现页面路由配置

文章目录 新建目录新建页面配置页面路由修改tabBar地址其他&#xff1a;在package.json中的pages配置详细 新建目录 先点击src–》新建–》目录 输入名称&#xff0c;并以此类推完成所有新建目录 新建页面 右击目录&#xff0c;点击新建–》vue文件 弹出弹框&#xff0c;…

【HTTPS】Wireshark导入密钥文件后仍无法解密https报文

个人搭建了一个HTTPS网站后&#xff0c;想通过Wireshark抓包https报文并解密。在本站查询了大量文章后&#xff0c;发现介绍的方法基本就分两步&#xff1a; 1、在本地Windows系统上新增系统环境变量"SSLKEYLOGFILE"&#xff0c;保存Chrome浏览器访问网站时使用的密…

SpringMVC系列五: SpringMVC映射请求数据

SpringMVC映射请求数据 &#x1f49e;获取参数值说明应用实例 &#x1f49e;获取http请求消息头&#x1f49e;获取JavaBean对象使用场景说明应用实例注意事项和细节 &#x1f49e;获取servlet api说明应用实例注意事项和细节 上一讲, 我们学习的是SpringMVC系列四: Rest-优雅的…