从键盘读入一个由字母构成的串(不大于30个字符)。

从该串中取出3个不重复的字符,求所有的取法。

取出的字符,要求按字母升序排列成一个串。

不同的取法输出顺序可以不考虑。

例如:
输入:
abc
则输出:
abc

输入:
abcd
则输出:
abc
abd
acd
bcd

输入:
abcaa
则输出:
abc

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class FinaceCheck {
public static void play(int n, int limit, int sum, String tempStr,
ArrayList<String> memoryList, int array[]) {
if (sum > limit)
return;
if (sum == limit && !memoryList.contains(tempStr)) {// 满足条件
System.out.println(tempStr);
memoryList.add(tempStr);
return;
}
for (int i = n; i < array.length; i++) {
tempStr += array[i] + " ";// 加空格为了数字间的空格加空格
sum += array[i];
int len = (array[i] + " ").length();
play(i + 1, limit, sum, tempStr, memoryList, array);// 递归调用
tempStr = tempStr.substring(0, tempStr.length() - len);// 还原
sum -= array[i];// 还原
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int sum = 0; // 总额
int restMoney = input.nextInt();
int m = input.nextInt();
int[] array = new int[m];
for (int i = 0; i < array.length; i++) {
array[i] = input.nextInt();
sum += array[i];
}
Arrays.sort(array);// 排序数组
int limit = sum - restMoney;// 求差额
play(0, limit, 0, "", new ArrayList<String>(), array);
}
}

2012国信蓝点杯全国软件设计大赛编程大题相关推荐

  1. 2012第三届国信蓝点杯全国软件设计大赛编程大题

    * 题目  *  为了保障社会秩序,保护人民群众生命财产安全,警察叔叔需要  *  与罪犯斗智斗勇,因而需要经常性地进行体力训练和智力训练!  *  某批警察叔叔正在进行智力训练:  *  1 2 3 ...

  2. java2012国信蓝点杯全国软件设计大赛编程大题

    /*  某财务部门结账时发现总金额不对头.很可能是从明细上漏掉了某1笔或几笔.如果已知明细账目  清单,能通过编程找到漏掉的是哪1笔或几笔吗?  如果有多种可能,则输出所有可能的情况.  我们规定:用 ...

  3. 2011国信蓝点杯全国软件设计大赛编程大题

    /*  * 看下面的算式:  □□ x □□ = □□ x □□□  它表示:两个两位数相乘等于一个两位数乘以一个三位数.  如果没有限定条件,这样的例子很多.  但目前的限定是:这9个方块,表示1~ ...

  4. 2011国信蓝点杯全国软件设计大赛

    /*  公司发了某商店的购物券1000元,限定只能购买店中的m种商品.每种  商品的价格分别为m1,m2,-,要求程序列出所有的正好能消费完该购物券的不同购物方法.  程序输入:  第一行是一个整数m ...

  5. 首届“中科杯”全国软件设计大赛拉开帷幕

    4月29日,中国科学院软件研究所隆重召开新闻发布会,中国软件行业协会理事长陈冲.中科院软件所副所长黄涛共同宣布了两家单位联合主办的首届"中科杯"全国软件设计大赛正式开赛.此次大赛面 ...

  6. 关于第二界“中科杯”全国软件设计大赛

    “中科杯”全国软件设计大赛是中国科学院软件研究所于2009年发起,中国软件行业协会和中国科学院软件研究所共同主办的一项面向中国大陆和港澳台地区在校青年学生的公益性质的全国性软件设计大赛.旨在“大力发展 ...

  7. 2011 模拟 c语言 本科(含答案)(第二届“国信蓝点杯”全国软件专业人才设计与开发大赛)...

    本文地址:http://www.cnblogs.com/CheeseZH/archive/2012/04/06/2435134.html 2011 模拟 c语言 本科 注意: 本套模拟题主要模拟命题形 ...

  8. “中科杯”全国软件设计大赛决赛实录

    果然每个队伍占用的时间都太长了,导致我五点多饿着肚子去答辩.当然了,评委也是辛辛苦苦饿着肚子的. 估计就我一个学数学的吧,我一开始还特意强调了一下,就一个目的,希望评委别问我太专业的问题--我不会.而 ...

  9. 蓝桥杯java初赛本科组,2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题...

    这是2012年第三届蓝桥杯全国软件专业人才设计与开发大赛Java本科组初赛试题的完整版 2012第三届蓝桥杯软件大赛Java语言本科组初赛试题 (说明:1-4题为结果填空,5-7为程序填空,8-10为 ...

最新文章

  1. Ubuntu 划词翻译
  2. 区块链技术到底有啥用?
  3. 【redis】redis持久化
  4. RNQOJ Jam的计数法
  5. 想要设计自己的微服务?看这篇文章就对了
  6. 初级黑客安全技术命令详解
  7. 微信小程序之验证码短信倒计时
  8. 矩阵快速乘法---代码
  9. Hi3559AV100的MPP系统绑定实现
  10. 任正非,“血洗”华为
  11. 基本数据类型的默认值
  12. 查询服务器时显示failbyOEM,java - 使用 Weblogic 12c,给出警告警告日志管理 BEA-170011 该服务器上的 LogBroadcaster 失败 - 堆栈内存溢出...
  13. Invalid format specifier的解决方法
  14. Postman -中文版-安装教程
  15. 解决-画图程序无法读取-无效的位图文件
  16. Harbor安装(待补充)
  17. 函数f的上确界/下确界(sup/inf)的通俗理解,及其与最大值/最小值(max/min)的区别
  18. nomasp 博客导读:Lisp/Emacs、Algorithm、Android
  19. Java--获取本机网卡上的所有ip
  20. 使用FTP上传数据到云服务器 CuteFTP和LeapFTP软件使用教程

热门文章

  1. DELMIA软件:使用机器人本体语言示教编程
  2. 创建Windows10 密码重设盘
  3. 火绒安全软件-免费且最干净的杀毒软件
  4. EDK2环境的搭建以及遇到的部分问题解答
  5. oracle orderby多个字段,Oracle的order by关键字
  6. access bars语言_ACCESS Bars 学习笔记 QA
  7. Java大型智慧物业管理系统源码
  8. 【AD】元件,导线,电气符号放置与操作
  9. 一个最简单的C#管道(NamePipe)全双工通信实例
  10. Ubuntu20.04上切换系统声音( by quqi99)