[蓝桥杯][算法提高VIP]阮小二买彩票

题目描述

在同学们的帮助下,阮小二是变的越来越懒了, 连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多。可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰 到节假日的时候连个铜板都没进,更郁闷的是这些天分文不进就算了,可恨的是银行这几天还有可能“落井下石”(代扣个人所得税),看着自己账户的钱被负增长 了,阮小二就有被割肉的感觉(太痛苦了!),这时阮小二最大的愿望无疑是以最快的速度日进斗金,可什么方法能够日进斗金呢?抢银行(老本行)?不行,太危 险,怕有命抢没命花;维持现状?受不了,搂钱太慢了!想来想去,抓破脑袋之后,终于想到了能快速发家致富的法宝----买彩票,不但挣了钱有命花,运气好 的话,可以每天中他个几百万的,岂不爽哉!抱着这种想法,阮小二开始了他的买彩票之旅。想法是“好的”(太天真了OR 太蠢了),可是又发现自己的数学功底太差,因为不知道数字都有哪些组合排列?那现在就请同学们写个递归程序,帮助阮小二解决一下这个问题吧!

注意:输出数据中不能有重复的排列

输入

不超过6位数的正整数N,注意:构成正整数N的数字可重复

输出

组成正整数N的所有位数的全排列,这些排列按升序输出,每个排列占一行。

样例输入

3121

样例输出

1123
1132
1213
1231
1312
1321
2113
2131
2311
3112
3121
3211

AC代码:

#include <stdio.h>
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <string>
#include <cmath>
#include <map>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;int n,m;
int a[105];
string b[1000000];
void print(){string s = "";for(int i=0;i<n;i++)s += a[i] + '0';b[m++] = s;
}bool isswrp(int x,int y){for(int i=x;i<y;i++)if(a[i] == a[y])return false;return true;
}
void prem(int k){if(k == n-1){print();return ;}for(int i=k;i<n;i++){if(isswrp(k,i)){swap(a[k],a[i]);prem(k+1);swap(a[k],a[i]);}}
}
int main()
{string s;cin>>s;n = s.size();m = 0;for(int i=0;i<n;i++)a[i] = s[i] - '0';sort(a,a+n);prem(0);sort(b,b+m);for(int i=0;i<m;i++)cout<<b[i]<<endl;return 0;
}

[蓝桥杯][算法提高VIP]阮小二买彩票相关推荐

  1. [蓝桥杯][算法提高VIP]阮小二买彩票[递归全排列]

    题目 1578: [蓝桥杯][算法提高VIP]阮小二买彩票 时间限制: 1Sec 内存限制: 128MB 提交: 348 解决: 153 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都 ...

  2. [蓝桥杯][算法提高][vip] 阮小二买彩票

    蓝桥杯 ADV-66 算法提高 阮小二买彩票 问题描述 在同学们的帮助下,阮小二是变的越来越懒了,连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察 ...

  3. 蓝桥杯 算法提高VIP 阮小二买彩票 (Java解题)

    题目描述 在同学们的帮助下,阮小二是变的越来越懒了,  连算账都不愿意自己亲自动手了,每天的工作就是坐在电脑前看自己的银行账户的钱是否有变多.可是一段时间观察下来,阮小二发现自己账户的钱增长好慢啊,碰 ...

  4. [蓝桥杯][算法提高VIP]夺宝奇兵-递推+记忆化搜索

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  5. [蓝桥杯][算法提高VIP]夺宝奇兵-dp

    题目描述 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 " ...

  6. c语言oj题1923偶数之和,问题 1923: [蓝桥杯][算法提高VIP]学霸的迷宫 (BFS)

    题目描述 学霸抢走了大家的作业,班长为了帮同学们找回作业,决定去找学霸决斗.但学霸为了不要别人打扰,住在一个城堡里,城堡外面是一个二维的格子迷宫,要进城堡必须得先通过迷宫.因为班长还有妹子要陪,磨刀不 ...

  7. [蓝桥杯][算法提高VIP]合并石子(区间dp+平行四边形优化)

    题目描述 在一条直线上有n堆石子,每堆有一定的数量,每次可以将两堆相邻的石子合并,合并后放在两堆的中间位置,合并的费用为两堆石子的总数.求把所有石子合并成一堆的最小花费. 输入 输入第一行包含一个整数 ...

  8. 摩尔斯电码的c语言程序,[蓝桥杯][算法提高VIP]摩尔斯电码 (C语言代码)

    解题思路: 录入,分段,比较 注意事项: 不要去关注最后的几句话,完全误导人,我用getchar()结合EOF做得出来,但是提交总是报错,蓝桥杯官网和C语言网都一样. 参考代码:#include #i ...

  9. [蓝桥杯][算法提高VIP]数的划分(记忆化搜索)

    题目描述 一个正整数可以划分为多个正整数的和,比如n=3时: 3:1+2:1+1+1: 共有三种划分方法. 给出一个正整数,问有多少种划分方法. 数据规模和约定 n< =100 输入 一个正整数 ...

最新文章

  1. bayer格式插值算法实现
  2. 分享10个原生JavaScript技巧
  3. Opengl-光照-颜色(其实要想做出好看的东西这章最重要了)
  4. Gartner:大数据投资增长,但计划投资的组织机构却在减少
  5. ubuntu9.10升级成功
  6. Intel Realsense D435 python 实战(二)
  7. JPA规范:一对多、一对一、多对多的双向关联与级联操作以及JPA联合主键
  8. 带有无参数的存储过程
  9. 【算法导论】归并排序
  10. tasklet内核源代码分析
  11. 一元php主机,php 一元分词算法
  12. arraylist长度_面经手册 第7篇ArrayList也这么多知识?一个指定位置插入就把谢飞机面晕了!...
  13. 邮箱搬家操作步骤及详细说明
  14. 浅谈无线传感器和无线传感器网络
  15. 经典大数据架构案例:酷狗音乐的大数据平台重构
  16. [Unity Mirror] FAQ
  17. JavaScript动态加载效果
  18. google的秘密入口
  19. Unity Shader学习记录(18) —— Shader动画
  20. 房产管理系统平台平台管理分析

热门文章

  1. 2272: 又是01串(http://acm.zzuli.edu.cn/problem.php?id=2272csrf=nr0h1HsiO5WDrN3Jk1j9aUmgYOdn7QAV)
  2. Go中的格式化打印:“%+v”和“%v”的区别:
  3. 用HTML、CSS技术设计的个人网页与实现制作(web前端期末大作业)
  4. KeyError: [] not found in axis_“in+形容词”常用固定短语归纳
  5. java 距离1970年1月1日的秒数 转换成对应现在的日期
  6. html实现页面中内容居中显示图片,javascript怎么让图片居中显示?
  7. 【Eviews】异方差的检验(图示检验法、white检验法、GQ检验法)与修正(加权最小二乘法)
  8. windows聚焦图片在哪?
  9. AIR32F103CBT6还原DAP Link固件方法
  10. MATLAB批量求图片均值、相对标准差、平均梯度、信息熵的代码