问题描述
人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回 答。
火星人用一种非常简单的方式来表示数字——掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为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;

#include <iostream>
#include <algorithm>
using namespace std;
int main() {int n, m, a[10001];cin >> n >> m;for(int i = 0; i < n; i++)cin >> a[i];for(int i = 0; i < m; i++)next_permutation(a,a+n);for(int i = 0; i < n; i++)cout << a[i] << " ";return 0;
}

蓝桥杯 ALGO-28 算法训练 星际交流相关推荐

  1. Java实现 蓝桥杯VIP 算法训练 星际交流

    算法训练 星际交流 时间限制:1.0s 内存限制:256.0MB 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法 ...

  2. 蓝桥杯:试题 算法训练 Remember the A La Mode

    蓝桥杯:试题 算法训练 Remember the A La Mode 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 Hugh Samston经营着一个为今年的ICPC世界总决赛的参 ...

  3. 算法训练 星际交流 排列生成问题

    题目链接                                    蓝桥杯 算法训练---------题解 问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解 ...

  4. 矩阵乘法 算法训练 试题_蓝桥杯习题集_ 算法训练 矩阵乘法

    原文: 算法训练 矩阵乘法 时间限制:1.0s   内存限制:512.0MB 问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s, ...

  5. 蓝桥杯 算法训练 星际交流

    问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法.这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科 ...

  6. 蓝桥杯算法训练 星际交流java

    问题描述 人类终于登上了火星的土地并且见到了神秘的火星人.人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法.这种交流方法是这样 的,首先,火星人把一个非常大的数字告诉人类科 ...

  7. 蓝桥杯练习系统算法训练习题加答案java版本

    附上百度文库的链接:http://wenku.baidu.com/view/afb78d36b42acfc789eb172ded630b1c59ee9bf7 转载于:https://www.cnblo ...

  8. java蓝桥杯的题_Java蓝桥杯试题集——算法训练ALGO-116——最大的算式

    题目要求 解题思路 动态规划,今天才弄明白QAQ,借鉴了这位大佬的博客,曹磊的博客 写的很好!但是我觉得我的循环方式更容易理解嘿嘿嘿~ 首先建立如下图的数组,行数代表前几位数,列数代表有几个乘号.将第 ...

  9. 蓝桥杯练习系统—算法训练 s01串

    第一部分:题目 问题描述 s01串初始为"0" 按以下方式变换 0变1,1变01 输入格式 1个整数(0~19) 输出格式 n次变换后s01串 样例输入 3 样例输出 101 数据 ...

最新文章

  1. 浅谈Java/Android下的注解
  2. CAS KVM 虚拟机的保护与恢复
  3. python字符串的定义、切片、格式化、函数
  4. jmeter中控制器其中一个访问不到_Jmeter体系结构和运行原理
  5. Python语言防坑小技巧
  6. python numpy.linspace() 使用介绍
  7. VTK:可视化之BackgroundGradient
  8. vue install 报错 This is a problem related to network connectivity.
  9. java.net.noroute,java.net.NoRouteToHostException: No route to host
  10. idea教程--Maven 骨架介绍
  11. python利用myqr库生成二维码
  12. 使用struts2完成ckeditor和图片上传
  13. Python基础----Pandas
  14. sql server跨服务器修改数据,SQL Server跨数据库服务器查询和跨表更新的详细操作...
  15. 机器学习 声音 分角色_机器学习对儿童电视节目角色的痴迷
  16. ROS二维码识别以及OKR使用
  17. \t\t中国历代皇帝列表,中国皇帝列表,中国历代时间表,中国各朝代列表
  18. vue项目启动时 chatroom@1.0.0 dev: `webpack-dev-server --inline --progress --config build/webpack.dev.c...
  19. 59深度解密五十九:利用“抖音”进行吸粉的简单、另类玩法
  20. iOS开发——BAT网易笔试面试题参考答案

热门文章

  1. 2017linux版本号,Linux基本命令 2017-11-27
  2. C++: find()函数的注意事项
  3. 3月19日学习内容整理:redis
  4. 003《区块链开发指南》一一1.2 区块和区块链 转
  5. Android实践--监測网络状态
  6. H5版俄罗斯方块(3)---游戏的AI算法
  7. http://www.cnblogs.com/ITtangtang/archive/2012/05/21/2511749.html
  8. MySQL中NOT IN语句对NULL值的处理
  9. CCProgressTimer进度条效果
  10. (转)ORACLE之常用FAQ V1.08