[NOIP2004 普及组] 火星人

[NOIP2004 普及组] 火星人

题目描述

人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。

火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为 1 , 2 , 3 , ⋯ 1,2,3,\cdots 1,2,3,。火星人的任意两根手指都能随意交换位置,他们就是通过这方法计数的。

一个火星人用一个人类的手演示了如何用手指计数。如果把五根手指――拇指、食指、中指、无名指和小指分别编号为 1 , 2 , 3 , 4 1,2,3,4 1,2,3,4 5 5 5,当它们按正常顺序排列时,形成了 5 5 5 位数 12345 12345 12345,当你交换无名指和小指的位置时,会形成 5 5 5 位数 12354 12354 12354,当你把五个手指的顺序完全颠倒时,会形成 54321 54321 54321,在所有能够形成的 120 120 120 5 5 5 位数中, 12345 12345 12345 最小,它表示 1 1 1 12354 12354 12354 第二小,它表示 2 2 2 54321 54321 54321 最大,它表示 120 120 120。下表展示了只有 3 3 3 根手指时能够形成的 6 6 6 3 3 3 位数和它们代表的数字:

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

现在你有幸成为了第一个和火星人交流的地球人。一个火星人会让你看他的手指,科学家会告诉你要加上去的很小的数。你的任务是,把火星人用手指表示的数与科学家告诉你的数相加,并根据相加的结果改变火星人手指的排列顺序。输入数据保证这个结果不会超出火星人手指能表示的范围。

输入格式

共三行。
第一行一个正整数 N N N,表示火星人手指的数目( 1 ≤ N ≤ 10000 1 \le N \le 10000 1N10000)。
第二行是一个正整数 M M M,表示要加上去的小整数( 1 ≤ M ≤ 100 1 \le M \le 100 1M100)。
下一行是 1 1 1 N N N N N N 个整数的一个排列,用空格隔开,表示火星人手指的排列顺序。

输出格式

N N N 个整数,表示改变后的火星人手指的排列顺序。每两个相邻的数中间用一个空格分开,不能有多余的空格。

样例 #1

样例输入 #1

5
3
1 2 3 4 5

样例输出 #1

1 2 4 5 3

提示

对于 30 % 30\% 30% 的数据, N ≤ 15 N \le 15 N15

对于 60 % 60\% 60% 的数据, N ≤ 50 N \le 50 N50

对于 100 % 100\% 100% 的数据, N ≤ 10000 N \le 10000 N10000

noip2004 普及组第 4 题

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;
const int N = 10010;
int path[N], st[N];
int mars[N];
int n, m;

int cnt; // 代表枚举了几次 
void dfs(int x)
{
    if (cnt == m + 1) return; // 剪枝
    
    if (x > n){
        cnt ++;
        if (cnt == m + 1)
            for (int i = 1; i <= n; i ++){
                printf("%d ", path[i]);
            }
            // puts("");
        return ;
    }
    
    for (int i = 1; i <= n; i ++)
    {
        if (!cnt) i = mars[x]; // 从当前位置开始枚举
        if(!st[i])
        {
            path[x] = i;
            st[i] = true;
            dfs(x + 1);
            
            // 回溯
            path[x] = 0;
            st[i] = false;
        }
    }
}

int main()
{
    scanf("%d%d", &n, &m);
    

    for (int i = 1; i <= n; i ++) scanf("%d", &mars[i]);
    
    dfs(1);
    
    return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】线段树算法总结(区间修改)

知识概览 线段树一般有5个操作&#xff1a; pushup&#xff1a;用子节点更新当前节点信息pushdown&#xff1a;把懒标记往下传build&#xff1a;初始化一棵树modify&#xff1a;修改一个区间query&#xff1a;查询一个区间 不带懒标记&#xff08;支持单点修改&#xff09;的线…

猫罐头那种好吃又健康?五大值得买的猫罐头推荐

很多新手养猫的姐妹们都会为选罐头感到焦虑&#xff01;但是每种罐头都有优缺点&#xff0c;每只猫咪的胃口也都不同&#xff0c;只有适合自家猫的才是最好的。所以姐妹们在选罐头之前可以先做好功课&#xff0c;了解一下怎么选好的罐头。 作为一个已经离职的宠物医生&#xff…

6.6TB 全球地名路网透明标签瓦片地图

但凡要干一件稍微有意义的事&#xff0c;总会需要一定的时间积累&#xff0c;甚至还需要下不少的笨工夫&#xff0c;也正因如此&#xff0c;才会让这些最终做成的事更具有价值和意义。 比如我们曾在一个项目的助推下&#xff0c;就干了一件比较有意义的事情&#xff0c;尽管投入…

从实践角度优化数据库设计:深入解析三范式的应用

总述 第一范式(1NF):要求关系模式中的每个属性都是不可分的数据项,即属性具有原子性。第二范式(2NF):在满足1NF的基础上,要求关系模式中的所有非主属性都完全函数依赖于整个候选键(或主键)。第三范式(3NF):在满足2NF的基础上,要求关系模式中的每个非主属性都不传…

虚拟机的下载、安装

下载 vmware workstation&#xff08;收费的虚拟机&#xff09; 下载vbox 网址&#xff1a;Oracle VM VirtualBox&#xff08;免费的虚拟机&#xff09; 以下选择一个下载即可&#xff0c;建议下载vbox&#xff0c;因为是免费的。安装的时候默认下一步即可&#xff08;路径最好…

java并发编程四 Monitor 概念,api介绍与线程状态转换

Monitor 概念 Java 对象头 以 32 位虚拟机为例子&#xff1a; 普通对象 数组对象 其中 Mark Word 结构为 64 位虚拟机 Mark Word 小故事 故事角色 老王 - JVM小南 - 线程小女 - 线程房间 - 对象房间门上 - 防盗锁 - Monitor房间门上 - 小南书包 - 轻量级锁房间门上 -…

【实战】如何在Docker Image中轻松运行MySQL

定义 使用Docker运行MySQL有许多优势。它允许数据库程序和数据分离&#xff0c;增强了数据的安全性和可靠性。Docker Image的轻便性简化了MySQL的部署和迁移&#xff0c;而Docker的资源隔离功能确保了应用程序之间无冲突。结合中间件和容器化系统&#xff0c;Docker为MySQL提供…

java Filter内存马分析

目录 0x01 什么是Filter马 0x02 环境搭建 0x03 Filter内存马探索 1.tomcat Filter 的流程分析 2.攻击思路分析 0x04 Filter内存马exp编写 本文由掌控安全学院 - xilitter 投稿 知识基础&#xff1a; 刚开始内存马的这块学习与反序列化并无太大关系&#xff0c;反而与ja…

如何制作一本电子产品图册,打开线上推广呢

​随着互联网的普及和社交媒体的兴起&#xff0c;越来越多的企业开始注重线上传播。对于产品而言&#xff0c;制作一本精美的产品图册不仅可以展示产品的外观和特点&#xff0c;还可以通过线上传播吸引更多的潜在客户。 不会制作的朋友们&#xff0c;其实也不用担心&#xff0c…

使用 uiautomatorviewer 获取元素的定位信息

1. 使用 adb 连接设备&#xff08;真机或模拟器&#xff09; 连接夜神模拟器&#xff1a;adb connect 127.0.0.1:62001 连接MuMu模拟器&#xff1a;adb connect 127.0.0.1:7555 2. 打开 uiautomatorviewer 在 android-sdk --> tools 目录&#xff0c;找到 uiautomatorvie…

LeetCode Hot100 215.数组中的第k个最大元素

题目&#xff1a; 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 方法一&#xff…

获取请求体中json数据并解析到实体对象

目录 相关依赖 前端代码 后端代码 测试结果 相关依赖 <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.83</version> </dependency> <dependency><groupId>comm…

上传app到app store的完整流程

上传ios的app到app store首先需要一个打包好的ipa文件。 要上传这个ipa必须要使用同一个苹果开发者账号的证书打包&#xff0c;才能上架到同一个app store上&#xff0c;假如是使用别人的证书打包的&#xff0c;只能上传到别人的app store账号。 假如你还没有创建证书&#x…

route 路由使用记录

一、路由的基本介绍 路由是计算机网络中的一个重要概念&#xff0c;它用于确定数据包从源地址到目的地址的路径。在网络中&#xff0c;路由器是负责转发数据包的设备。 下面是关于路由的基本知识和使用方法的介绍&#xff1a; 路由表&#xff1a;路由器通过路由表来确定数据包…

Excel 理解IF({1,0}...结构啥意思

背景知识&#xff1a; IF(条件,是则结果,否则结果) 逻辑真除了用True以外&#xff0c;还可以用不为0的数值&#xff0c;常用的是1&#xff1b;逻辑假除了用Fasle以外&#xff0c;还可以用数值0 理解公式 IF({1,0},B2:B8&C2:C8,D2:D8)就是构造一个二维数组&#xff0c;把…

Unity中Shader平移矩阵

文章目录 前言方式一&#xff1a;对顶点本地空间下的坐标进行相加平移1、在属性面板定义一个四维变量记录在 xyz 上平移多少。2、在常量缓冲区进行申明3、在顶点着色器中&#xff0c;在进行其他坐标转化之前&#xff0c;对模型顶点本地空间下的坐标进行转化4、我们来看看效果 方…

Linux宝塔面板本地部署Discuz论坛发布到公网访问【无需公网IP】

文章目录 前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 前言 Crossday Discuz! Board&#xff08;以下简称 Discuz!&#xff09;是一套通用的社区论坛软件系统&#xff0c;用户可以在不需要任何编程的基础上&a…

产品需求分析师的职责内容(合集)

产品需求分析师的职责内容1 职责&#xff1a; 1、根据公司战略规划&#xff0c;负责妇产科相关平台产品的中长期规划; 2、组织需求调研、收集、分析、整理、提炼、用户的需求&#xff0c;分析形成可行性研究报告; 3、深入挖掘产品需求&#xff0c;管理用户及公司内部业务需求&a…

20V升26V 600mA升压型LED驱动芯片,PWM调光芯片-AH1160

AH1160是一个功能强大的升压型LED驱动芯片&#xff0c;专为需要精确控制LED亮度的PWM调光应用而设计。它可将20V输入电压升压至26V&#xff0c;同时提供稳定的600mA电流输出&#xff0c;适用于各种LED照明设备。 芯片特点&#xff1a; 1. 输入电压范围&#xff1a;AH1160可在…

6个免费设计资源站,设计师们赶紧收藏!

本期给大家分享5个免费的设计资源站&#xff0c;设计师必备的设计设计神奇&#xff0c;绝对能帮助你在工作中事半功倍&#xff0c;赶紧收藏吧~ 1、菜鸟图库 https://www.sucai999.com/?vNTYwNDUx 菜鸟图库是我推荐过很多次的网站&#xff0c;主要是站内素材多&#xff0c;像…
最新文章