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

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

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

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

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

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

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

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

  4. 蓝桥杯 算法训练 幸运的店家

    蓝桥杯 算法训练 幸运的店家 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 炫炫开了一家商店,卖的货只有一个,XXX,XXX卖N元钱.有趣的是,世界上只有面值为3的幂的纸 ...

  5. 蓝桥杯 算法训练 Beaver's Calculator

    蓝桥杯 算法训练 Beaver's Calculator 问题描述 从万能词典来的聪明的海狸已经使我们惊讶了一次.他开发了一种新的计算器,他将此命名为"Beaver's Calculator ...

  6. 蓝桥杯 算法训练 印章

    蓝桥杯 算法训练 印章 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入输出: 一行两个正整数n和m 一个实数P表示答案,保留4位小数. 样例: 2 3 ...

  7. 蓝桥杯算法训练-24点(Python)

    问题描述 24点游戏是一个非常有意思的游戏,很流行,玩法很简单:给你4张牌,每张牌上有数字(其中A代表1,J代表11,Q代表12,K代表13),你可以利用数学中的加.减.乘.除以及括号想办法得到24, ...

  8. 蓝桥杯——算法训练——数字三角形

    蓝桥杯--算法训练--数字三角形 这道题不难,但是比较典型,可以作为动态规划(dp)的入门篇,属于线性dp(LIS,LCS和数字三角形都是此类题型). ------------------------ ...

  9. 蓝桥杯算法训练-强力党逗志芃

    持续更新蓝桥杯算法训练题解,有兴趣可以关注一波呀 题目 逗志芃励志要成为强力党,所以他将身上所以的技能点都洗掉了重新学技能.现在我们可以了解到,每个技能都有一个前提技能,只有学完了前提技能才能学习当前 ...

最新文章

  1. expect实现自动登录
  2. IPSEC传输模式和隧道模式的区别
  3. C#向C++编写的DLL传递字符串参数的办法
  4. __asm__ __volatile__(: : :memory)
  5. vue 自定义封装组件 使用 model 选项
  6. 开发实践 | android网络通信 接收和发送数据详解
  7. 现在已经到了考虑云计算的时候
  8. 基于TCP的Socket通讯
  9. CSDN 独家对话阿里云贾扬清、华先胜等大咖,剧透阿里云原生技术密码
  10. 这部日本「神作」彻底拉低了我入门AI的门槛
  11. 计蒜客---N的-2进制表示
  12. Oracle 10g Create Database
  13. 二、Java的三大特征(或者四大特征)
  14. WP7手机Zune官方升级教程
  15. 从自走棋代码分析游戏机制--棋池、回蓝、目标判断、掉落概率与新英雄
  16. 网易免费邮箱服务器,网易免费邮箱重新免费开放 POP3/SMTP 服务
  17. 如何获取iPhone 各机型以及系统的状态栏高度进行适配
  18. 人脸识别-Loss-2010:Softmax Loss(Softmax激活函数 + “交叉熵损失函数”)【样本3真实标签为c_5,则样本3的损失:loss_3=-log(\hat{y}_5^3)】
  19. oracle中更改用户名,Oracle 更改用户名
  20. 奥西300工程机服务器装系统,奥西pw300驱动

热门文章

  1. 电脑C盘快满了,你就重装系统?别犯傻了,看我三分钟搞定(值得收藏备用)
  2. 分布式 - 分布式系统下调用链追踪技术
  3. 深度学习 十四讲 循环神经网络例子--名字分类
  4. 简单实用的python爬虫完整示例
  5. Java位运算符和移位运算符详解
  6. Word中实现固定长度的数字自动编号
  7. 浅水域三维探地雷达数值模拟研究
  8. Flutter 创建文件夹
  9. 树莓派4B安装散热片和小风扇以及亚克力外壳安装
  10. 【愚公系列】2021年11月 Elasticsearch数据库-Window11下的安装