蓝桥杯:试题 算法训练 星际交流 康托展开

2023-10-27

题目

资源限制
时间限制:1.0s 内存限制:256.0MB

问题描述
  人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回 答。
  火星人用一种非常简单的方式来表示数字——掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为1,2,3……。火星人的任意两根手指都能随意交换位置,他们就是通过这方法计数的。
  一个火星人用一个人类的手演示了如何用手指计数。如果把五根手指——拇指、食指、中指、无名指和小指分别编号为1,2,3,4和5,当它们按正常顺序排列 时,形成了5位数12345,当你交换无名指和小指的位置时,会形成5位数12354,当你把五个手指的顺序完全颠倒时,会形成54321,在所有能够形 成的120个5位数中,12345最小,它表示1;12354第二小,它表示2;54321最大,它表示120。下表展示了只有3根手指时能够形成的6个 3位数和它们代表的数字:

三进制数
123
132
213
231
312
321
代表的数字
1
2
3
4
5
6

现在你有幸成为了第一个和火星人交流的地球人。一个火星人会让你看他的手指,科学家会告诉你要加上去的很小的数。你的任务是,把火星人用手指表示的数与科 学家告诉你的数相加,并根据相加的结果改变火星人手指的排列顺序。输入数据保证这个结果不会超出火星人手指能表示的范围。
  
输入格式
  包括三行,第一行有一个正整数N,表示火星人手指的数目(1 <= N <= 10000)。第二行是一个正整数M,表示要加上去的小整数(1 <= M <= 100)。下一行是1到N这N个整数的一个排列,用空格隔开,表示火星人手指的排列顺序。
  
输出格式
  只有一行,这一行含有N个整数,表示改变后的火星人手指的排列顺序。每两个相邻的数中间用一个空格分开,不能有多余的空格。
  
样例输入

5
3
1 2 3 4 5

样例输出

1 2 4 5 3

数据规模和约定
对于30%的数据,N<=15;
对于60%的数据,N<=50;
对于全部的数据,N<=10000;

思路

可以AC的思路:【蓝桥杯:试题 算法训练 星际交流 全排

其实也可以通过计算康托展开,推导出到底是第几个排列,然后加上m,在通过这个数字求出对应的序列

具体实现见【康托展开式与其逆运算的实现

由序列求排列号,就是:

  • 计算每一项的系数,第x位系数是
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯:试题 算法训练 星际交流 康托展开 的相关文章

随机推荐

  • package com.jiushipos; import android.content.Intent; import android.os.Bundle; import android.os.H

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题 有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中 居左 居右 Sma
  • TCHAR和CHAR类型的互转

    Win32中CStdString 是需要TCHAR类型的值才可以赋值的 而很多文件读取时FILE的fopen函数之类的需要的是CHAR 我们需要把它们互转 这里我在网上找到了一个比较方便的方法 没有定义UNICODE 所以它里面的字符串就是
  • ECNA 2014 部分题解

    目录 D Generalized Roman Numerals 思维dp E Inspectors 拆点跑最小费用最大流 H Time Warp 模拟 A Cure for the Common Code KMP D Generalized
  • python中set index_Python set_index和reset_index详解

    再来介绍一下set index函数的使用 set index就是将列转换为索引 其参数如下 set index keys drop True append False inplace False verify integrity False
  • CentOS 7.9 如何安装Docker

    文章目录 版本选择 1 CentOS安装Docker 1 1 卸载 可选 1 2 安装docker 1 3 启动docker 1 4 配置镜像加速 2 CentOS7安装DockerCompose 2 1 下载 2 2 修改文件权限 2 3
  • linux apache + mysql +php no-yum

    学习PHP脚本编程语言之前 必须先搭建并熟悉开发环境 开发环境有很多种 例如LAMP WAMP MAMP等 这里我介绍一下LAMP环境的搭建 即Linux Apache MySQL PHP环境 一 首先安装操作系统 操作系统 centos6
  • 【推荐】好用的 XPath 插件

    好用的 XPath 插件 XPath Helper 插件介绍 Try XPath 背景 插件介绍 个人感觉 结尾 本菜鸡在写爬虫的时候 经常使用 XPath 提取数据 XPath Helper 以前一直用的 chrome 进行 xpath
  • 通过Dockerfile文件制作新镜像时一大堆报错

    换个好一点的网络 就没问题了
  • java 中的静态变量,静态代码块,动态代码块,构造方法执行顺序的深入探究

    原文 https blog csdn net qq 41063182 article details 81149798 类加载 第一次调用这个类的时候jvm虚拟机会通过类加载器在一个叫做方法区的逻辑内存中将所要用到的类的信息存放在里边 其中
  • python3中编码转化

    1 编码解码概念 首先要明白一些概念 调用函数的时候就不会出错了 编码 把数据变为01比特 网络通信中的编码也是这个意思 解码 从01比特恢复为有意义的表示形式 在python3中 字符串是str类型 而bytes类型表示的是一个字节串 从
  • 文献阅读(24)KDD2020-GCC:Graph Contrastive Coding for Graph Neural Network Pre-Training

    本文是对 Graph Contrastive Coding for Graph Neural Network Pre Training 一文的浅显翻译与理解 如有侵权即刻删除 朋友们 我们在github创建了一个图学习笔记库 总结了相关文章
  • Open3D 计算每个点的协方差矩阵

    目录 一 算法原理 1 计算公式 2 主要函数 3 函数源码 二 代码实现 三 结果展示 一 算法原理 1 计算公式 对于点云数据中的任意一点 p p p 根据其邻域内点的坐标计算其协方差矩阵 计算公式如下 M
  • kubesphere中间件部署

    微服务部署前中间件部署 一 MySQL部署 1 1 使用Docker实现MySQL主从复制 docker run p 3307 3306 name mysql master v mydata mysql master log var log
  • 文本处理(六)——Text-CNN、Word2Vec、RNN、NLP、Keras、fast.ai

    原文 https www jianshu com p 7f35a4b33f45 Text CNN Text CNN 文本分类 TextCNN 是利用卷积神经网络对文本进行分类的算法 由 Yoon Kim 在 Convolutional Ne
  • uiautomator2滑动操作d.swipe_ext(),及判断是否ui到顶部

    d swipe ext up 向上滑动 d swipe ext down 向下滑动 d swipe ext left 向左滑动 d swipe ext right 向右滑动 判断当前页面是否在底部 while True d swipe ex
  • java 反射和注解

    文章目录 1 反射 1 1定义反射 1 2java代码的三个阶段 1 3将类的各个部分封装的对象 1 4获取 1 4 1获取类名 1 4 2获取成员变量 1 4 3获取构造方法 1 4 4获取成员方法 1 4 5获取注解 2 注解 2 1概
  • 调试之设置数据断点 (zz.IS2120)

    How to Set a Data Breakpoint Native Only z 2012 09 11 09 43 48 IS2120 CSDN T3678804781 T31 L404 R7 V204 Data breakpoints
  • 【计算机网络】Linux环境中的网络套接字编程

    文章目录 前言 一 预备知识 理解源IP地址和目的IP地址 认识端口号 认识UDP协议和TCP协议 了解网络字节序 二 socket 套接字 socket 常见API sockaddr 和 sockaddr in 三 UDP Socket编
  • bash脚本-centos7安装docker

    bin bash set ex sudo yum remove docker docker client docker client latest docker common docker latest docker latest logr
  • 蓝桥杯:试题 算法训练 星际交流 康托展开

    题目 资源限制 时间限制 1 0s 内存限制 256 0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人 人类和火星人都无法理解对方的语言 但是我们的科学家发明了一种用数字交流的方法 这种交流方法是这样 的 首先 火星人把一个