C. DS循环链表—约瑟夫环 (Ver. I - B)
题目描述
N个人坐成一个圆环(编号为1 - N),从第S个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。
例如:N = 3,K = 2,S = 1。2号先出列,然后是1号,最后剩下的是3号。
测试数据有多组,
每组包括3个数N、K、S,表示有N个人,从编号为S的人开始,数到K出列。
输入
测试数据有多组
每组包括3个数N、K、S,表示有N个人,从第S个人开始,数到K出列。(2 <= N <= 10^3,10^3 < K <= 10^9, 1 <= S <= N)
输出
出列的人的编号
输入样例1:
13 3 1
3 2 1
输出样例1:
3 6 9 12 2 7 11 4 10 5 1 8 13
2 1 3
AC代码:
#include <iostream>
using namespace std;
class node
{
public:int data;node* next;node():data(0),next(nullptr){}
};class linklist
{int len;node* head;
public:linklist(){head=new node;head->data=1;head->next=head;}void create(int n){node* tail=head;for(int i=2;i<=n;i++){node* p=new node;p->data=i;tail->next=p;p->next=head;tail=p;}tail->next=head;len=n;}void print(int k,int s){node* p=head;for(int i=1;i<s;i++){p=p->next;}while(len){int k1=k;k1=k1%len+len;for(int i=1;i<k1-1;i++){p=p->next;}node* q=p->next;cout<<q->data<<" ";p->next=q->next;delete q;p=p->next;len--;}cout<<endl;}};
int main()
{int n,k,s;while(cin>>n>>k>>s){linklist L;L.create(n);L.print(k,s);}return 0;
}
相关文章:
C. DS循环链表—约瑟夫环 (Ver. I - B)
题目描述 N个人坐成一个圆环(编号为1 - N),从第S个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。 例如:N 3,K 2,S 1。2号先出列,然后是…...
【刷题】优选算法
优选算法 双指针 202. 快乐数 链接:. - 力扣(LeetCode) 【思路】 第一个实例是快乐数,因为会变为1且不断是1的循环 第二个实例不可能为1,因为会陷入一个没有1的循环 根据两个实例和鸽巢原理可以发现不断的平方和最…...
Python 在PDF中绘制形状(线条、矩形、椭圆形等)
在PDF中绘制图形可以增强文档的视觉效果。通过添加不同类型的形状,如实线、虚线、矩形、圆形等,可以使文档更加生动有趣,提高读者的阅读兴趣。这对于制作报告、演示文稿或是教材特别有用。本文将通过以下几个示例介绍如何使用Python 在PDF中绘…...
《今日制造与升级》是什么级别的期刊?是正规期刊吗?能评职称吗?
问题解答 问:《今日制造与升级》是不是核心期刊? 答:不是,是知网收录的正规学术期刊。 问:《今日制造与升级》级别? 答:国家级。主管单位:中国机械工业联合会 …...
loading为什么不更新
场景:封装好的弹框,按钮上加了个loading状态,根据传入的值弹框提交的模块内容不一样。loading更新过后,但是值没有变。 注)写法一loading不更新,写法二loading值更新。 一、写法一 写法一中的 acceptanc…...
Rust 力扣 - 1652. 拆炸弹
文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们只需要遍历长度长度为k的窗口,然后把窗口内数字之和填充到结果数组中的对应位置即可 题解代码 impl Solution {pub fn decrypt(code: Vec<i32>, k: i32) -> Vec<i32> {let n c…...
使用Golang实现开发中常用的【并发设计模式】
使用Golang实现开发中常用的【并发设计模式】 设计模式是解决常见问题的模板,可以帮助我们提升思维能力,编写更高效、可维护性更强的代码 屏障模式 未来模式 管道模式 协程池模式 发布订阅模式 下面是使用 Go 语言实现屏障模式、未来模式、管道模式…...
基于Zynq FPGA对雷龙SD NAND的性能测试评估
文章目录 一、SD NAND特征1.1 SD卡简介1.2 SD卡Block图 二、SD卡样片三、Zynq测试平台搭建3.1 测试流程3.2 SOC搭建 四、软件搭建五、测试结果六、总结 一、SD NAND特征 1.1 SD卡简介 雷龙的SD NAND系列有多种型号,本次测试使用的是CSNP4GCR01-AMW和CSNP32GCR01-A…...
4.WebSocket 配置与Nginx 的完美结合
序言 在现代 web 应用中,WebSocket 作为一种全双工通信协议,为实时数据传输提供了强大的支持。若要确保 WebSocket 在生产环境中的稳定性和性能,使用 Nginx 作为反向代理服务器是一个明智的选择。本篇文章将带你了解如何在 Nginx 中配置 Web…...
Docker:镜像构建 DockerFile
Docker:镜像构建 DockerFile 镜像构建docker build DockerfileFROMCOPYENVWORKDIRADDRUNCMDENTRYPOINTUSERARGVOLUME 镜像构建 在Docker官方提供的镜像中,大部分都是基础镜像,他们只提供某个简单的功能,如果想要一个功能更加丰富…...
浮动路由:实现出口线路的负载均衡冗余备份。
浮动路由 Tip:浮动路由指在多条默认路由基础上加入优先级参数,实现出口线路冗余备份。 ip routing-table //查看路由表命令 路由优先级参数:越小越优 本次实验测试两条默认路由,其中一条默认路由添加优先级参数,设置…...
二叉树的遍历和线索二叉树
二叉树遍历 二叉树结点的定义 typedef struct BiNode{Elemtype data;struct BiNode* lchild, *rchild; }BiNode, *BiTree; 先序 递归算法 void PreOrder1(BiTree T){if(T!NULL){visit(T);PreOrder(T->lchild);PreOrder(T->rchild);} } 非递归算法(栈实现…...
SpringBoot3 集成Junit4
目录 1. 确保项目中包含JUnit 4依赖添加JUnit 4依赖 2. 配置Spring Boot使用JUnit 4在测试类中使用RunWith注解 3. 编写测试代码4、总结 【扩展】RunWith(SpringRunner.class) 中SpringRunner的作用1. **加载 Spring 应用上下文(ApplicationContext)**2.…...
Scala的set的添加删减和查询
添加:最好用于不可变数组,因为它会产生新数组,而不是在原数组上进行修改。 在尾部添加元素 可变数组 删减:按元素值删除元素 - 查询:查询元素是否存在.contains package Test //Set //特点:元素是唯…...
基于微信小程序的移动学习平台的设计与实现+ssm(lw+演示+源码+运行)
摘 要 由于APP软件在开发以及运营上面所需成本较高,而用户手机需要安装各种APP软件,因此占用用户过多的手机存储空间,导致用户手机运行缓慢,体验度比较差,进而导致用户会卸载非必要的APP,倒逼管理者必须改…...
【spark面试题】RDD和DataFrame以及DataSet有什么异同
RDD(Resilient Distributed Dataset): 概念:可理解为分布式的列表。它的每个元素代表数据的一行,具有支持泛型这一显著特点。这种泛型支持让开发人员能够处理各种类型的数据,具有很强的灵活性。例如&#…...
[Python]关于Tensorflow+Keras+h5py+numpy一些骚操作备忘
起因:要在Anaconda使用Tensorflow和Keras框架 这里提前小结一下: 1,一定要注意Python、Tensorflow、Keras不同版本的对应关系。 2,交叉用conda install 和pip install安装依赖库可能容易出现问题,在Anaconda虚拟环境…...
深度学习:Transformer 详解
Transformer 详解 对于Transformer模型的详细解释,可以更深入地探讨其各个组成部分、工作原理、以及在自然语言处理任务中的应用方法。以下是对Transformer模型的一个更全面和详细的解释,包括其架构细节和关键技术: 1. 基本架构 Transform…...
jmeter 性能测试步骤是什么?
JMeter是一款流行的开源性能测试工具,用于测试各种服务器和网络应用的性能。在进行JMeter性能测试时,通常需要遵循以下步骤: 确定测试目标:首先,明确性能测试的目标。这可以是测试一个网站的负载能力、测试一个API的响…...
前端入门一之JS最基础、最基础语法
前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 初体验输入输出语句变量和常量常量变量…...
Unity PC端微信扫码登录:不拉起浏览器的原生UI集成方案
1. 这不是“微信扫码登录”的常规玩法,而是PC端Unity游戏的UI原生集成方案你有没有遇到过这样的场景:在Unity开发的PC单机游戏或局域网对战工具里,想让用户用微信账号快速登录,但一接入微信开放平台的标准OAuth2流程,点…...
适合行政小伙伴日常会议整理的,好用会议纪要
对于行政人员来说,跨部门协调会、线上会议录音整理、核心决策复盘等场景,往往需要花费大量时间在纪要整理上。本文实测了四款会议纪要工具,从转写效率、准确率、场景适配等维度进行对比。工具综合表现对比各工具实测详情听脑AI转写整理效率&a…...
嵌入式开发通用工具包设计:模块化、可裁剪与高性能实现
1. 项目概述:为什么嵌入式开发需要一个“瑞士军刀”?在嵌入式开发的日常里,我猜你和我一样,经常在重复造轮子。比如,今天在A项目里写了个精巧的CRC校验函数,明天在B项目里又要处理环形缓冲区,后…...
冬季施工安全措施,附: 冬季施工总安全技术交底
冬季施工安全措施,附: 冬季施工总安全技术交底 冬季施工特点 1 冬季施工由于施工条件及环境不利,是工程质量事故的多发季节,尤以混凝土工程、钢结构工程居多。如何在冬季施工、抢赶工期的条件下保证项目的质量目标,是施工技术和施工组织的难点。 3 质量事故出现的隐蔽性…...
JLink版本不兼容?手把手教你解决APM32F003F6P6在Keil V5.14下的烧写闪退与报错
JLink与Keil版本冲突全解析:APM32F003F6P6烧写难题终极指南 当你深夜加班调试APM32F003F6P6,Keil突然弹出"Error Flash Download failed"然后闪退,JLink软件在你选择芯片型号后直接消失——这种工具链版本冲突带来的"玄学&quo…...
S7-1200通讯选型指南:RS485、Profinet还是开放式TCP?看完这篇不再纠结
S7-1200通讯选型指南:RS485、Profinet还是开放式TCP?看完这篇不再纠结 在工业自动化项目中,PLC通讯方案的选择往往让工程师们陷入两难——既要考虑当下设备的兼容性,又要为未来升级预留空间。作为西门子S7-1200系列PLC的用户&…...
别再只会import了!用Python的importlib实现插件化架构(附完整代码)
用Python的importlib构建插件化架构:从理论到实战 在软件开发中,插件化架构是一种强大的设计模式,它允许应用程序在运行时动态加载和卸载功能模块。Python的importlib模块为实现这种架构提供了底层支持,远比简单的import语句强大得…...
Lemur性能优化:10个提升证书管理平台响应速度的技巧
Lemur性能优化:10个提升证书管理平台响应速度的技巧 【免费下载链接】lemur Repository for the Lemur Certificate Manager 项目地址: https://gitcode.com/gh_mirrors/le/lemur Lemur作为一款开源证书管理平台,能够帮助用户轻松管理SSL/TLS证书…...
Win11 右键菜单缺少“新建文本文档“win11 某些软件中文乱码
Win11 右键菜单缺少“新建文本文档“Win11 右键菜单缺少"新建文本文档"是常见系统配置问题,主要通过注册表修复或记事本应用重装即可解决。核心解决方法(win11 亲测可行)注册表修复(最常用)按Wi…...
【Linux驱动开发】第11天:设备树(Device Tree)超详细全解:从诞生背景到工作原理
一、设备树的诞生背景:传统驱动的致命痛点 在设备树出现之前(Linux 3.0之前),Linux内核采用硬编码的方式描述所有硬件信息。这意味着: 每一个开发板的寄存器地址、中断号、GPIO号,都直接写死在驱动代码里换…...
