算法OJ—选太子

选出第K个数 随机生成若干个数,用快速排序选出第K个数 立即下载

1018.选太子(select the prince)

时限:1000ms 内存限制:10000K  总时限:3000ms

描述

某皇帝有2m个儿子,现在要从中选出一个做太子,皇帝不知道该把那一个皇子立为太子,于是决定用下面的方法来选出太子,设每个太子的编号分别1、2、3、…、2m,按顺时针方向站成一个圆圈,现在从1号太子开始按顺时针方向数,数到第n个人,把他淘汰出局,然后从他的下一个人开始上述过程,当第m个人被淘汰时,转变方向继续从1开始数,重复上述过程,最后剩下的皇子将被立为太子。现在请你写一个程序,计算出几号皇子将被立为太子。

输入

输入两个正整数m n

Input two positive integer.

输出

输出太子的编号
Output the number.

输入样例

3 2

输出样例

1

 

本题需要考虑的一个问题是如何构造一个环状的结构,起初打算使用链表,但在剔除数字后还要逆时针旋转,操作起来较为麻烦,后来想到可以通过取模运算进行模拟环的遍历。

#include<iostream>
using namespace std;
int main(){
    int m, n;
    cin >> m >> n;
    int loop[1000] ={0};//存储太子的环
    int i = 0;
    int princeCount = 2*m, outCount = 0;
    int step = 0;
    int flag = 1; // flag = 1顺时针 -1逆时针;
    //当循环中太子的个数为1则循环终止
    while(outCount < princeCount - 1){
        if(loop[i] == 0){
            step++;
            if(step == n){
                loop[i] = 1;
                outCount++;
                if(outCount == m){
                    flag = -flag;
                }
                step = 0;

            }
        }
        if(flag == 1){
            i = (i + 1) % princeCount;//顺时针取下一位地址
        }else{
            i = (i - 1 + princeCount) % princeCount;//逆时针取下一位地址
        }
    }

    int j;
    for(j = 0; j < princeCount; j++){
        if(loop[j] == 0){
            cout << j + 1 << endl;
        }
    }

}

 

二叉排序树 二叉树 排序 题目 4.已知二叉排序树中结点数据域为整数,根据键盘输入不同个数的数据构造二叉排序树,设计递归算法输出树中所有大于或等于给定值x的结点,并以函数的参数返回输出的结点个数并打印。 3.输入一行字符(字符个数小于255),统计其中不同的大写和小写字母的个数。每个数字占一行。 2.已知k阶裴波那契数列的定义为f0=0,f1=0,…,fk-2=0, fk-1=1; fn=fn-1+fn-2+…+fn-k,n=k,k+1,… 1. 某皇帝有2m个儿子,现在要从中选出一个做太子,皇帝不知道该把那一个皇子立为太子,于是决定用下面的方法来选出太子, 立即下载

相关推荐

ROS下UR+Realsense相机进行手眼标定

手眼标定主要是用来确定相机坐标系和机械臂坐标系之间的转换关系,从而实现后续的抓取等任务。

weixin_42157689的博客 7573

OJ算法分析题库(2)

算法分析: 算法大致的思路就是通过四个数组分别存储每次输入的数值内容。然后通过分组循环,四个数分两组,a和b一组进行一对多依次加法存到数组中,保证每个a组的数都和b组中的所有数进行过了加法运算。c和d也是一样的方式。 两个数组ab和cd运算完毕以后,进行排序。排序完成以后接下来通过对ab数组的值进行依次循环,然后每次都会cd数组也进行循环判断,找到ab+cd=0的情况的个数。为了应对数值相同的情况,这里用到了upper_bound和lower_bound两个函数进行运算,具体原理读者可以自行分析....

weixin_51339377的博客 3019

【浅读论文-红外和可见光图像融合-CNN】Infrared and Visible Image Fusion using a Deep Learning Framework

1.这篇是2018年ICPR会议上发表的一篇文章1。博主个人觉得这算比较早期在VIF(红外光和可见光图像融合)中加入了深度学习这一模型的论文。2.这篇文章并不是完全使用深度学习的模型,模型主体在图像分解和融合仍然采用传统的方法,只有其中一个分支在特征提取和重建方面用到了VGG网络。3.论文地址4.代码地址本文提出了基于深度学习框架的一种新算法。本文提出使用下述论文中Image fusion with guided filtering2中的分解方法将源图像分解为基本部分和细节内容。

一枚博鼠的博客 1708

OJ算法分析题库(3)

算法1:(贪心算法) #include<bits/stdc++.h> using namespace std; int main(){ int n;cin>>n;int a[n],b[n],ans=0; for(int i=0;i<n;i++) cin>>a[i]; for(int j=0;j<n;j++) cin>>b[j]; sort(a,a+n);sort(b,b+n); int lefta=0,leftb=0,right...

weixin_51339377的博客 1937

反激电源反馈环路设计:UC3842的FB脚与COMP脚接法对比与选型

在开关电源设计中,PWM控制器与光耦的反馈环路接法直接影响系统稳定性与动态响应。UC3842作为经典电流模式控制器,其FB脚和COMP脚分别对应内部误差放大器的输入与输出,决定了环路补偿由内部还是外部承担。FB脚接法利用内部基准和运放,设计简单、成本低,适合小功率适配器;COMP脚接法旁路内部运放,补偿网络外置,动态响应快、精度高,适合中大功率工业电源。理解两种接法的原理与差异,有助于在反激电源设计中优化环路补偿,提升负载调整率和批量一致性。

weixin_31887307的博客 318

【小白指南】如何将deepseek引入WPS\Word\Excel中去?

如何将deepseek引入WPS\Word\Excel中去?纯小白都能看的懂,一步步操作就能行

2503_90498422的博客 1万+

杭电OJ第11页2020~2024算法题(C语言)

目录2020.绝对值排序2021.发工资咯:)2022.海选女主角2023.求平均成绩2024.C语言合法标识符 2020.绝对值排序 Problem Description 输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。 Input 输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。 Output 对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。

代码星辰的博客 2126

Android CCodec (十七) 硬件解码调用分析-1(基于V4l2)

简单的分析V4L2DecodeComponent和其相关内容,后续针对解码调用单独分析。

给大佬递杯卡布奇诺的博客 6594

算法基础2 —— OJ入门以及暴力枚举

暴力法

smallrain6的博客 1447

【Unity实战篇 】| 游戏中实现镂空遮罩效果【矩形、圆形镂空遮罩】

本文来写一下怎样在Unity中完成一个 镂空遮罩 的效果。 镂空遮罩 比较常用的有两种:矩形镂空遮罩、圆形镂空遮罩。 镂空遮罩 在游戏中常被当做新手引导必备的内容,可以给玩家更多不一样的体验。 下面就一起来看一下怎样做出这种效果吧!

努力前行,总会成为自己心中的那道光 1万+

glibc: GLIBC_2.28‘ not found

这个时候,应该怎么解决,因为当前运行的机器是低版本,而程序是高版本,解决方法,或者是将程序降级,或者将当前系统升级。在一个glibc的接口版本是GLIBC_2.25的lab上,运行不了在2.28上编译的程序。看哪一个方便,但是不能通过 临时复制libc.so 文件来解决,因为会遇到下面的错误。所以如果是简单解决就是按照低版本的应用程序,来适配当前系统的glibc版本。比如下面的程序运行提示。

mzhan017的博客 2406

OJ教程--排序算法

1 算法分类 十种常见排序算法可以分为两大类: 非线性时间比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此称为非线性时间比较类排序。 线性时间非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此称为线性时间非比较类排序。 2 算法复杂度 3 相关概念 稳定:如果a原本在b前面,而a=b,排序之...

weixin_30475039的博客 415

Windows安装 OpenClaw详细教程(使用wsl2+ubuntu)

OpenClaw 是一款于 2026年1月 正式对外开源的个人AI助手平台(AI Agent),由 PSPDFKit 创始人彼得·斯坦伯格(Peter Steinberger) 开发。它不仅仅是一个聊天机器人,更是一个能够主动执行任务的“数字管家”。OpenClaw的核心特点是本地化部署、隐私可控以及强大的自动化执行能力。OpenClaw 项目在开发过程中经历过两次更名,最终定为现名:初名:Clawdbot(因与 Claude 名称过于相似引发侵权争议而改名)。

猿小白的博客 1008

【zzuli-oj】-1900- 985的“树”难题(DFS & 并查集&STL)

1900: 985的“树”难题 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 37  Solved: 11 SubmitStatusWeb Board Description 985给你一棵“树”以及它的根节点,要求你先判定它是否是一棵树,其次他想知道每个节点的“太子”数目以及它的父亲(root的话输出自己)。 “太子判定条

Bear1998的博客 626

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

zzulioj 1900(985的“树”难题)

985的“树”难题Time Limit: 1 Sec Memory Limit: 128 MB Submit: 30 Solved: 7SubmitStatusWeb Board Description985给你一棵“树”以及它的根节点,要求你先判定它是否是一棵树,其次他想知道每个节点的“太子”数目以及它的父亲(root的话输出自己)。 “太子判定条件”: 一、若x是y的孩子节点,那么x

fenghoumilin的博客 376

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

北邮机试 | BUPT OJ | 104. 912星球的研究生

时间限制1000 ms内存限制65536 KB 题目描述 最近912星球的研究生入学了,912星球的教务处因此忙的焦头烂额,要求yzr做一个信息管理系统登陆查询研究生的考试成绩。但是yzr太弱了,你能帮帮忙么? 912星球的每一位研究生都有一个名字id和一份星球考研成绩,可喜的是都是自然数。 信息管理系统需要完成两个命令: 1.“Insert空格id_number空格score_numb...

Vermouth_Su的博客 256

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【OJ算法训练】

现公司为了提升大家的编码和算法能力,安排了一项非必需的任务:平时多刷题。包括公司OJ平台,或者LeetCode,还有专家特意挑选出来的题目编号,供大家参考。 其中LeetCode题目如下,每月完成3道题以上即可。 表格中绿色表示已经完成的题目。 做题肯定是不够的。总结也肯定是要写的。 所以就有了【OJ算法训练】系列文章,实则非原创。 知识点是整理的,题目是LeetCode的,题解思路是大佬的,只有调试的代码和测试函数是亲手所写。本地主要就是调试,在单步执行的基础上一点点理解算法。

aloong的半山农场 414

OJ算法--动态规划

OJ算法–动态规划 算法概述 动态规划用于解决一定规模下的最优解问题,通过小规模最优解推导出大规模最优解,再由大规模最优解推导出更大规模最优解。以此类推最终得到问题答案,01背包问题就是最典型的动态规划问题。 例题 在刷牛客OJ时会遇到这样一道题: 算法原理 对于这样一个问题,影响问题规模的因素有两个,一个是需要凑出的邮票总价值,另一个是可用的邮票规模。当邮票总价值变小,或者可用邮票规模变小,亦或是两者同时变小时,问题都会变得更加简单。因此我们可以找出小规模问题和大规模问题中的某种递推公式,从而解决该题目

qq_42860218的博客 738

【C++】OJ 算法笔记

【C++】OJ算法笔记前言头文件for循环简写cin/cout快速输入/输出C输入头文件long longtypedef long long ll; 前言 我发现学了C++,但是写OJ题时,基本的输入输出还是不会,因此还是刷洛谷题,看题解学着写代码吧。 在看大佬代码时,遇到奇淫技巧记录下来,作为学习。 头文件 万能头文件:#include<bits/stdc++.h> for循环简写 #define f(i,j,n) for(i=j;i<=n;i++) 也可以这样: #define

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 584

【经典算法OJ题讲解】

经典算法OJ题

2402_82689232的博客 1232

分享一些杭电OJ刷的算法题思路

杭电oj的题刚开始还是很基础的,按我们正常思路,用Scanner输入一个整数a,一个整数b,然后相加即可,然而提交代码审核不过,温馨提示(提交代码的时候类名必须是Main,不能包含包名),然后考虑这种方式只能测试一次,不能循环测试下去,于是,我又写了个while循环,可以无限的测试下去,奇怪的是竟然就这么通过了,本人感觉掌握方法即可,不需要考虑这么多。附代码截图。...

2442

C++ OJ题测试—排序算法效率

OJ题测试—排序算法效率

Han同学 2149

算法学习(一)—— 双指针算法

解释一下题目:给你一个数组,在这个数组中随便选三个数使它们的和为0,并且三个数互不相同,返回所有相加为0的三个数组合,顺序没有要求但是元素的下标不能一样,假设输入:[-1, 0, 1, 2, -1, -4] ,我们可以选出三个[-1, 0, 1] [-1, 2, -1] [0, 1, -1]但是只返回前两个,是因为第三个和第一个顺序不一样,但是元素一样的,这样的情况我们二选一返回。和如名字一样,两个指针在顺序结构的同一端同时移动,一个指针一次往后移动一次,一个一次移动两次。该算法非常适合用于处理。

aaqq800520的博客 1654

链表算法题(OJ刷题超详细讲解)

经过这次对链表算法题的深入解析,链表作为基础数据结构,其相关算法是编程能力的试金石。通过在线刷题平台,我们可以不断挑战自我,深化对链表的理解,提高算法设计能力。刷题能够让我们更加熟悉各种算法和数据结构,掌握它们的基本操作和应用场景。通过大量的实践,我们能够加深对理论知识的理解,形成自己的编程风格和思维方式。刷题不是目的,应用才是关键。让我们通过刷题,不断提升编程水平,将所学知识应用于实际项目中,成为更优秀的开发者。

2301_78724721的博客 1362

oj系统的算分算法

一、题目描述 给出题目数量和单位时间罚时,输入一些学生的每道题的通过情况,然后给出排名,排名和AC数以及分数相关,AC数多的排在前面,再看分数,分数少的排在前面,如果前两项都相同,就按名字的字典序来排。 详细题目 二、思路概述 用结构体来记录每个学生的名字、AC数和时间分等信息。用char来存储学生每一题的分数,并进行处理,计算出学生的信息。输入结束后进行排序,然后输出结果 三、各部分作用 1...

weixin_43988686的博客 1614

湖南理工学院OJ算法习题集

集合了湖南理工学院oj刷题网站的一些算法经典题 包括了01背包问题、快速排序、最长公共子序列问题、排列数字、电视节目问题、归并排序、杨辉三角 湖南理工 湖南理工 湖南理工 oj网站:https://oj.hnist-acm.com/

axixigu的博客 2915
上一篇: 算法OJ—回文质数
下一篇: 算法OJ—回溯专题(一)_穷举n位二进制数
GuoMell
博客等级 码龄11年 30粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值