圆桌(满足客人空座需求,合理安排客人入座圆桌,准备最少的椅子)
CSDN周赛第30期第四题算法解析。
-
Python 官网:https://www.python.org/
-
Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
地址:https://lqpybook.readthedocs.io/
自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
—— 华罗庚
- My CSDN主页、My HOT博、My Python 学习个人备忘录
- 好文力荐、 老齐教室
本文质量分:
CSDN质量分查询入口:http://www.csdn.net/qc
- ◆圆桌
- 1、题目描述
- 2 、应考代码
- 3、解题算法解析
- 3.1 算法分析
- 3.2 左右空座相同
- 3.3 左右空座不等
- 3 优化代码
- 2、
- 2.1
- 3、
- 3.1
- 4、完整源码
◆圆桌
1、题目描述
【CSDN周赛第30期第四题】
题目 4/4 (25 分)
题目名称:圆桌
时间限制:1000ms内存限制:256M
有N个客人与足够多张的圆桌。主人安排每位客人坐在一个圆桌边,但是每位客人希望自己左右边上分别有一些空座位,不然会觉得害羞。注意,如果一个客人所在的圆桌只有他一个人,那么他左边的空座位数量就是他右边的空座位数量。 试问主人需要准备多少个座位,才能让每个客人舒适的坐下。
输入描述:
第一行输入一个整数N,(1<=N<=10000),代表客人的数量 接下来N行,每行两个整数li与ri,(1<=i<=N,1<=li<=ri<=1000000000) 代表第i位客人希望左边有li个空座位,右边有ri个空座位。
输出描述:
输出一个整数,代表主人需要准备的最少座位数量。
示例1
输入
3
1 1
1 1
1 1
输出
6
示例2
输入
4
1 2
2 1
3 5
5 3
输出
15
提示
【样例解释】3个人围成一桌,每人左右各一个空位置,一共3个空座位。一个共需要3+3=6座位。
2 、应考代码
应考答题截屏图

应试时,我连题目都没有理清,所以写出了“不知所云”的代码。
3、解题算法解析
3.1 算法分析
3.2 左右空座相同


3.3 左右空座不等
“注意,如果一个客人所在的圆桌只有他一个人,那么他左边的空座位数量就是他右边的空座位数量。”题目描述中的这句话就是说,任何空座需求的客人,都可以可以单独坐一桌的,因为其左右空座会连在一起,不会违背“他左边的空座位数量就是他右边的空座位数量”。但如不拼桌则会算多空座,如示例2,分4桌坐,就应该是3 3 6 6,共需18把椅子。
3 优化代码
2、
2.1
3、
3.1
4、完整源码
#!/sur/bin/nve python
# coding: utf-8'''CSDN周赛第30期第04题:圆桌'''def table(n, lis):''' 计算桌数和需准备座位数 '''result = 0 # 需求空座位数初值。temp = [] # 相同空座需求客人统计列表初始化。while lis: # 统计同桌客人。tem = [lis[0]]l, r = lis[0]lis.pop(0)for i in lis[:]: # 这里一定要遍历用切片复制lis[:],因为lis可能“动态”变短。li, ri = iif li == r: tem.append(i)lis.remove(i)r = riwhile len(tem) > 1:l0, ri = tem[-1][1], tem[0][0]if ri == l0:break # 客人空座链能首尾相接围坐一桌,退出检验循环。else: # 否则,把最后一位客人退回客人空座信息列表lis。lis.append(tem.pop())temp.append(tem)print(f"\n{'':~^50}\n客人分桌信息数组:\n{temp}\n{'':~^50}")for i in temp:if len(i) == 1:result += sum(i[0])continueresult += sum(j[0] for j in i)return len(temp), result + n # 返回客人桌数和需准备的椅子总数(空座数+客人数)。if __name__ == '__main__':n = int(input('\n输入:\n'))lis = [tuple(map(int, input().strip().split())) for i in range(n)]t = table(n, lis)print(f"\n输出:\n{t[1]}\n\n客人需坐{t[0]}桌,共要准备{t[1]}个椅子。")
__上一篇:__ re.findall获取CSDN博文阅读点赞收藏和评论实时数据(学用curl命令获取博文页面源码,学不会爬虫先手剥CSDN博文阅读点赞收藏和评论实时数据。)
__下一篇:__
我的HOT博:
- New:ChatGPT初体验(ChatGPT国内镜像站初体验,聊天、Python代码生成。)CSDN质量分92。(30687阅读)
- 尼姆游戏(彩色文字界面版,\033控制码实现。Linux系统有效。)CSDN质量分xx。(1001阅读)
- 神奇的 \033 ,让打印出彩(1739阅读)
- 小炼二维数组(1764阅读)
- 仿真模拟福彩双色球(2622阅读)
- Python之魔幻切片(1417阅读)
- 数列求和a, aa, aaa, ..., aa...aa(n个a)(1729阅读)
- 个人信息提取(2671阅读)
- 中文字符命名Python变量和函数(1021阅读)
- 我的Python学习笔记(1021阅读)
- 十六进制字符串转Python代码(utf-8字符串转十六进制字符串)(1319阅读)
- 生成100个随机正整数(2489阅读)
- 给定字符串提取姓名(字符串、list、re“零宽断言”)(1842阅读)
- 我的 Python.color() (Python 色彩打印控制)(2370阅读)
- python清屏(3150阅读)
- 回车符、换行符和回车换行符(3558阅读)
- Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义(2301阅读)
- random.sample()将在python 3.9x后续版本中被弃用(2045阅读)
- pandas 数据类型之 Series(1809阅读)
- 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )(2332阅读)
- 练习:银行复利计算(用 for 循环解一道初中小题)(2159阅读)
- pandas 数据类型之 DataFrame(5932阅读)
- 班里有人和我同生日难吗?(蒙特卡洛随机模拟法)(2921阅读)
- Python 续行符(\)“拯救”你的超长语句(1502阅读)
- Python字符串居中显示(4684阅读)
- 练习:求偶数和、阈值分割和求差( list 对象的两个基础小题)(2331阅读)
- 用 pandas 解一道小题(2268阅读)
- 可迭代对象和四个函数(1752阅读)
- “快乐数”判断(1847阅读)
- 罗马数字转换器(构造元素取模)(3157阅读)
- Hot:罗马数字(转换器|罗生成器)(5783阅读)
- Hot:让QQ群昵称色变的代码(49777阅读)
- Hot:斐波那契数列(递归| for )(4719阅读)
- 柱状图中最大矩形(2348阅读)
- 排序数组元素的重复起止(1964阅读)
- 电话拨号键盘字母组合(2170阅读)
- 密码强度检测器(3124阅读)
- 求列表平衡点(2498阅读)
- Hot:字符串统计(4581阅读)
- Hot:尼姆游戏(聪明版首发)(4135阅读)
- 尼姆游戏(优化版)(1968阅读)
推荐条件点阅破千
回页首
精品文章:
- 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
- OPP三大特性:封装中的property
- 通过内置对象理解python'
- 正则表达式
- python中“*”的作用
- Python 完全自学手册
- 海象运算符
- Python中的 `!=`与`is not`不同
- 学习编程的正确方法
来源:老齐教室
回页首
◆ Python 入门指南【Python 3.6.3】
好文力荐:
-
全栈领域优质创作者——寒佬(还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是学习的两大利器。
-
【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
-
靠谱程序员的好习惯
CSDN实用技巧博文:
- 8个好用到爆的Python实用技巧
- python忽略警告
- Python代码编写规范
- Python的docstring规范(说明文档的规范写法)
相关文章:
圆桌(满足客人空座需求,合理安排客人入座圆桌,准备最少的椅子)
CSDN周赛第30期第四题算法解析。 (本文获得CSDN质量评分【91】)【学习的细节是欢悦的历程】Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单…… 地址:https://lq…...
如何入门大数据?
我们首先了解一下大数据到底是什么~ 大数据开发做什么? 大数据开发分两类,编写Hadoop、Spark的应用程序和对大数据处理系统本身进行开发。 大数据开发工程师主要负责公司大数据平台的开发和维护、相关工具平台的架构设计与产品开发、网络日志大数据分…...
如何在Vite项目中使用Lint保证代码质量
通常,大型前端项目都是多人参与的,由于开发者的编码习惯和喜好都不尽相同,为了降低维护成本,提高代码质量,所以需要专门的工具来进行约束,并且可以配合一些自动化工具进行检查,这种专门的工具称为Lint,可能大家接触得最多就是ESLint。 对于实现自动化代码规范检查及修…...
Spark高手之路1—Spark简介
文章目录Spark 概述1. Spark 是什么2. Spark与Hadoop比较2.1 从时间节点上来看2.2 从功能上来看3. Spark Or Hadoop4. Spark4.1 速度快4.2 易用4.3 通用4.4 兼容5. Spark 核心模块5.1 Spark-Core 和 弹性分布式数据集(RDDs)5.2 Spark SQL5.3 Spark Streaming5.4 Spark MLlib5.5…...
社科院与杜兰大学金融管理硕士项目——人生没有太晚的开始,不要过早的放弃
经常听到有人问,“我都快40了,现在学车晚不晚呢”“现在考研晚不晚?”“学画画晚不晚?”提出这些疑问的人,往往存在拖延,想法只停留在想的阶段,从来不去行动。当看到周边行动起来的人开始享受成…...
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting
Spatial-Temporal Graph ODE Networks for Traffic Flow Forecasting 摘要 交通流量的复杂性和长范围时空相关性是难点 经典现存的工作: 1.利用浅图神经网络(shallow graph convolution networks)和 时间提取模块去分别建模空间和时间依赖…...
IP协议+以太网协议
在计算机网络体系结构的五层协议中,第三层就是负责建立网络连接,同时为上层提供服务的一层,网络层协议主要负责两件事:即地址管理和路由选择,下面就网络层的重点协议做简单介绍~~ IP协议 网际协议IP是TCP/IP体系中两…...
可视化组件届的仙女‖蝴蝶结图、玫瑰环图、小提琴图
在上一篇内容中为大家介绍了几个堪称可视化组件届吴彦祖的高级可视化图表。既然帅哥有了,怎么能少得了美女呢?今天就为大家介绍几个可视化组件届的“美女姐姐”,说一句是组件届的刘亦菲不为过。蝴蝶结图蝴蝶结图因其形似蝴蝶结而得名…...
人的高级认知:位置感
你知道吗?人有个高级认知:位置感 位置感是啥?咋提高位置感? 趣讲大白话:知道自己几斤几两 【趣讲信息科技99期】 ******************************* 位置感 就是对自己所处环境和自身存在的领悟 属于人生智慧 来源于阅历…...
MATLAB——信号的采样与恢复
**题目:**已知一个连续时间信号 其中:f01HZ,取最高有限带宽频率fm5f0。分别显示原连续时间信号波形和 3种情况下抽样信号的波形。并画出它们的幅频特性曲线,并对采样后的信号进行恢复。 step1.绘制出采样信号 这部分相对简单…...
Docker Nginx 反向代理
最近在系统性梳理网关的知识,其中网关的的功能有一个是代理,正好咱们常用的Nginx也具备次功能,今天正好使用Nginx实现一下反向代理,与后面网关的代理做一个对比,因为我使用的docker安装的Nginx,与直接部署N…...
手把手教你实现书上的队列,进来试试?
一.队列的基本概念队列的定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出(First In First Out)的线性表,简称FIFO。允许插入的一端称为队尾,允…...
【springboot】springboot介绍
学习资料 SpringBoot 语雀 (yuque.com)【尚硅谷】SpringBoot2零基础入门教程(spring boot2干货满满)_哔哩哔哩_bilibiliSpringBoot2核心技术与响应式编程: SpringBoot2核心技术与响应式编程 (gitee.com) Spring 和Springboot 1、Spring能做什么 1.1…...
PMP项目管理项目整合管理
目录1 项目整合管理概述2 制定项目章程3 制定项目管理计划4 指导与管理项目工作5 管理项目知识6 监控项目工作7 实施整体变更控制8 结束项目或阶段1 项目整合管理概述 项目整合管理包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别、定义、组合、统一和协调的各个…...
ADS中导入SPICE模型
这里写目录标题在官网中下载SPICE模型ADS中导入SPICE模型在官网中下载SPICE模型 英飞凌官网 ADS中导入SPICE模型 点击option,设置导入选项 然后点击ok 如果destination选择当前的workspace,那么导入完成之后如下: (推荐使用…...
C++:异常
在学习异常之前,来简单总结一下传统的处理错误的方式: 1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。 2. 返回错误码,缺陷:需要程序员自己去查找…...
3.初识Vue
目录 1 vue 浏览器调试工具 1.1 安装 1.2 配置 2 数据驱动视图与双向数据绑定 3 简单使用 3.1 下载 3.2 将信息渲染到DOM上 4 使用vue浏览器调试工具 5 vue指令 1 vue 浏览器调试工具 chrome可能是我浏览器的原因,装上用不了,我们使…...
【C语言复习】程序的编译与链接
程序的编译与链接写在前面程序的编译与链接编译的过程程序编译环境程序执行过程编译链接的过程预处理预处理符号#define条件编译写在前面 程序的编译与链接是C语言中非常重要的一节。关键点在于详解C语言的程序编译和链接、宏的定义和与函数的区别、条件编译等知识。 程序的编…...
Golang sql 事务如何进行分层
在写代码过程中遇到了需要使用gorm执行sql事务的情况,研究了一下各位大佬的实现方案,结合了自身遇到的问题,特此记录。 代码架构介绍 . ├── apis ├── config ├── internal │ ├── constant │ ├── controller │ ├──…...
linux系统openssh升级
linux系统openssh升级 说明 整个过程不需要卸载原先的openssl包和openssh的rpm包。本文的环境都是系统自带的openssh,没有经历过手动编译安装方式。如果之前有手动编译安装过openssh,请参照本文自行测试是否能成功。 如果严格参照本文操作,保…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...
【算法训练营Day07】字符串part1
文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接:344. 反转字符串 双指针法,两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...
是否存在路径(FIFOBB算法)
题目描述 一个具有 n 个顶点e条边的无向图,该图顶点的编号依次为0到n-1且不存在顶点与自身相连的边。请使用FIFOBB算法编写程序,确定是否存在从顶点 source到顶点 destination的路径。 输入 第一行两个整数,分别表示n 和 e 的值(1…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
