OD C卷 - 推荐多样性

推荐多样性(200)

  • 第一行输入n,即窗口数;
  • 第二行输入k, 每个窗口的大小;
  • 后续输入不确定的行,每行为一个数字列表(各个列表长度相同);
  • 从第一个列表中选择4个连续的数值,分别放入n个窗口中,再从第二个列表中选择4个连续的数,接着上一步继续放入窗口中(比如有5个窗口,前4个放入数据后,从第5个接着放;然后再次从第1个窗口开始)…,依次类推;
  • 当列表中的元素不够4个时,则取剩余的元素,并逐一分配给每个窗口;直到每个窗口都有k个数字为止;
  • 输出每个窗口的数字列表,n个窗口连成一行,以空格分隔;

示例1
输入:
4
7
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
输出:
0 10 20 4 14 24 8 1 11 21 5 15 25 9 2 12 22 6 16 26 18 3 13 23 7 17 27 19

示例2
输入:
5
3
0 1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18 19
20 21 22 23 24 25 26 27 28 29
输出:
0 11 22 1 12 23 2 13 4 3 20 5 10 21 6

思路:

  • 简单模拟过程即可
 
# 输入数值n,表示窗口数
n = int(input().strip())
# 输入k, 表示每个窗口的大小
k = int(input().strip())# 输入不确定的多个数值列表
alist = []
# while True:
#     try:
#         alist.append([int(x) for x in input().strip().split()])
#     except EOFError: # 机试环境 可以传递异常
#         break
for i in range(3): # 自己测试  输入数字列表alist.append([int(x) for x in input().strip().split()]) # 从列表中取数字的起始索引(标记每轮的起始索引),每次固定取4个
start_index = [0 for x in range(len(alist))]
nums = [] # 取的每四个数字都放入该列表
while True:if len(nums) >= n * k:breakelse:for i in range(len(alist)):end_index = len(alist[i])if end_index > start_index[i] + 4:end_index = start_index[i] + 4j = start_index[i]while j < end_index:nums.append(alist[i][j])j += 1start_index[i] = end_index# 最后拼接
output_str = ""
for n_ in range(n): # 第几个窗口for k_ in range(k): # 当前窗口中的第几个数  与nums的索引形成关联output_str += str(nums[k_ * n + n_]) + " "
print(output_str[:-1])

 

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

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

相关文章

Java_20 元素和最小的山形三元组

元素和最小的山形三元组 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件&#xff0c;则认为它是一个 山形三元组 &#xff1a; i < j < knums[i] < nums[j] 且 nums[k] < nums[j] 请你找出 nums 中 元素和最小 的山形三元…

【如何解决一些常见的 Composer 错误的保姆级讲解】

&#x1f308;个人主页:程序员不想敲代码啊&#x1f308; &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家&#x1f3c6; &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

【计算机网络】第 10 问:为什么要进行流量控制?

为什么要进行流量控制? 减少数据丢失和延迟 由于接收发双方各自的工作速率和缓存空间的差异&#xff0c;可能出现发送方的发送能力大于接收方的接收能力的现象&#xff0c;如若此时不适当限制发送方的发送速率&#xff08;即链路上的信息流量&#xff09;&#xff0c;前面来…

ABAP AMDP 示例

AMDP 是HANA开发中的一种优化模式 按SAP的官方建议&#xff0c;在可以使用Open SQL实现需要的功能或优化目标的时候&#xff0c;不建议使用AMDP。而在需要使用Open SQL不支持的特性&#xff0c;或者是大量处理流和分析导致了数据库和应用服务器之间有重复的大量数据传输的情况…

SiameseRPN原理详解(个人学习笔记)

参考资源&#xff1a; 视觉目标跟踪SiamRPNSiameseRPN详解CVPR2018视觉目标跟踪之 SiameseRPN 目录&#xff09; 1. 模型架构1.1 Siamese Network1.2 RPN 2. 模型训练2.1 损失函数2.2 端到端训练2.3 正负样本选择 3. 跟踪阶段总结 SiamRPN是在SiamFC的基础上进行改进而得到的一…

开源,微信小程序-超级计算器T3000 简介

笔者于四年前自学微信小程序开发&#xff0c;这个超级计算器T3000就是当时的练习作品。超级计算器T3000的功能有很多&#xff0c;其中的核心技术是矩阵计算&#xff0c;使用的工具库是math.js&#xff0c;其次是复杂运算和分式运算。关于math.js的使用&#xff0c;可以参考另一…

Vue.js - Vue 项目 dist 利用 Docker 一键部署方案

如果你想利用 Docker 和 Nginx 来部署你的 Vue.js 项目&#xff0c;但又不想通过创建 Docker 镜像的方式来做&#xff0c;你可以直接将你的 dist 目录挂载到 Nginx 容器中的相应目录&#xff0c;然后让 Nginx 服务这些静态文件。 具体步骤 1. 确保你的 Vue 项目已经构建完成 …

MySQL8.0_常用SQL语句 + 常用命令

文章目录 常用命令连接数据库修改用户名和密码刷新权限查看服务端口号查看特定用户的host更改定用户的host清屏查看已存在的数据库导入导出数据 SQL语句数据库相关表相关数据的基本增删改查条件查询查询后排序聚合函数去重合并分组查询子查询表的连接索引相关视图相关 常用命令…

基于springboot的船舶维保管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

Kibana操作Elasticsearch教程

文章目录 简介ES文档操作创建索引查看索引创建映射字段查看映射关系字段属性详解typeindexstore 字段映射设置流程 新增数据新增会随机生成id新增自定义id智能判断 修改数据删除数据查询基本查询查询所有&#xff08;match_all&#xff09;匹配查询多字段查询词条匹配多词条精确…

可望而不可即的“人文关怀”

死亡既然是最后的归宿&#xff0c;生命的必然&#xff0c;自然也就没有必要过多地害怕了。一切顺其自然&#xff0c;交给“命运”就是了。 我参观过英国的临终关怀医院&#xff0c;这是世界上最早的一所临终关怀医院&#xff0c;已有100多年历史。 那里的大多数病人都只剩一个…

五、常见古典加解密

下面内容源自&#xff0c;刷到的CTF题目 推荐的工具&#xff1a;https://github.com/Leon406/ToolsFx 推荐的在线网站&#xff1a;https://ctf.bugku.com/tools 一、古典加密 1.凯撒位移密码(caeser) 解释&#xff1a;典型的位移密码&#xff0c;可能位移1位也可能是n位 例…

沃通国密SSL根证书入根赢达信国密浏览器

近日&#xff0c;沃通CA国密SSL根证书正式入根赢达信国密安全浏览器&#xff0c;携手推动国产密码技术应用、完善国密应用生态体系&#xff0c;也标志着沃通国密SSL证书兼容性再次得到提升&#xff0c;进一步夯实国密应用根基。 密码算法的安全性是信息安全保障的核心&#xff…

深度学习与(复杂系统)事物的属性

深度学习与复杂系统中事物属性的关系体现在&#xff1a; 特征学习与表示: 深度学习通过多层神经网络结构&#xff0c;能够自动从原始输入数据中学习和提取出丰富的特征表示。每一层神经网络都可能对应着事物属性的不同抽象层次&#xff0c;底层可能对应简单直观的属性&#xff…

ethers.js:sign(签名)

Signers 在ethers中Signer是以太坊账户的抽象&#xff0c;可以用来签名消息和交易&#xff0c;如将签名的交易发送到以太坊网络以执行状态更改的操作。 npm install ethers5.4.0// 引入 import { ethers } from ethers签名 this.provider new ethers.providers.Web3Provider(…

数据库系统概论(超详解!!!) 第四节 关系数据库标准语言SQL(Ⅱ)

1.数据查询 SELECT [ ALL | DISTINCT] <目标列表达式>[&#xff0c;<目标列表达式>] … FROM <表名或视图名>[&#xff0c; <表名或视图名> ] … [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY…

设计模式——结构型——外观模式Facade

处理器类 public class Cpu {public void start() {System.out.println("处理器启动了...");} } 内存类 public class Memory {public void start() {System.out.println("内存启动了...");} } 硬盘类 public class Disk {public void start() {Syste…

主流公链 - Monero

Monero: 加密货币的隐私标杆 1. 简介 Monero&#xff08;XMR&#xff09;&#xff0c;世界语中货币的意思&#xff0c;是一种去中心化的加密货币&#xff0c;旨在提供隐私和匿名性。与比特币等公开区块链不同&#xff0c;Monero专注于隐私保护&#xff0c;使用户的交易记录和余…

前端理论总结(html5)——W3C与web标准/行内元素和块元素有哪些

W3C与web标准 W3C W3C 对 web 标准提出了规范化的要求 HTML&#xff1a; 1&#xff1a;标签字母要小写 2&#xff1a;标签要闭合 3&#xff1a;标签不允许随意嵌套 CSS/JS&#xff1a; 1&#xff1a;尽量使用外链 css 样式表和 js 脚本&#xff0c;结构、表现和行为分为三块&a…

系统分析师-软件开发模型总结

前言 软件工程模型也称软件开发模型。它是指软件开发全部过程、活动和任务的结构框架&#xff0c;通过该模型能清晰、直观地表达软件开发全过程&#xff0c;明确地规定要完成的主要活动和任务&#xff0c;它奠定了软件项目工作的基础 一、瀑布模型&#xff08;Waterfall Model…