目录标题

  • 题目描述
  • 解题思路
  • 代码

题目描述

给定一个信封,有N(1≤N≤100)个位置可以贴邮票,每个位置只能贴一张邮票。我们现在有M(M<=100)种不同邮资的邮票,面值为X1,X2….Xm分(Xi是整数,1≤Xi≤255),每种都有N张。

显然,信封上能贴的邮资最小值是min(X1, X2, …, Xm),最大值是 N*max(X1, X2, …,  Xm)。由所有贴法得到的邮资值可形成一个集合(集合中没有重复数值),要求求出这个集合中是否存在从1到某个值的连续邮资序列,输出这个序列的最大值。

例如,N=4,M=2,面值分别为4分,1分,于是形成1,2,3,4,5,6,7,8,9,10,12,13,16的序列,而从1开始的连续邮资序列为1,2,3,4,5,6,7,8,9,10,所以连续邮资序列的最大值为10分。

输入
输入描述:
  第一行:最多允许粘贴的邮票张数N;第二行:邮票种数M;第三行:空格隔开的M个数字,表示邮票的面值Xi。注意:Xi序列不一定是大小有序的!
输入样例:

输出

输出描述:
  从1开始的连续邮资序列的最大值MAX。若不存在从1分开始的序列(即输入的邮票中没有1分面额的邮票),则输出0.
输出样例:

HINT:时间限制:1.0s 内存限制:512.0MB

解题思路

最终的问题就是一个排列组合看最大能满足多大的数。

代码

import java.util.Arrays;
import java.util.Scanner;public class Main {static int a1,a2,a3,a4;public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int m=scanner.nextInt();        //最多邮票张数int n=scanner.nextInt();        //邮票种数int []a=new int[n];             //每种的价值for (int i=0;i<n;i++){a[i]=scanner.nextInt();}Arrays.sort(a);                 //对价格进行排序for (int j=1;j<=a[a.length-1]*m;j++){a1=j;for (int k=a.length-1;k>=0;k--){    //计算每种排列能否满足对应的分数a2=a1/a[k];a4+=a2;a1=a1%a[k];if (a1==0){break;}}if (a1!=0||a4>m){                   //若不能满足则输出上一个J的值a3=j-1;break;}a4=0;                              //清零计数器a2=0;}System.out.println(a3);}
}

Java 算法 邮票相关推荐

  1. java 算法提高 邮票面值设计 蓝桥杯1046

    java 算法提高 邮票面值设计 蓝桥杯1046 算法提高 邮票面值设计 思路 代码 算法提高 邮票面值设计 Description 给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K≤13) ...

  2. java算法----排序----(6)希尔排序(最小增量排序)

    1 package log; 2 3 public class Test4 { 4 5 /** 6 * java算法---希尔排序(最小增量排序) 7 * 8 * @param args 9 */ 1 ...

  3. 希尔排序的java算法_Java算法系列篇 【希尔排序】

    什么? 搞Java不会算法? 由于个人兴趣原因以及工作所需,最近了解Java算法的相关案例 及时分享 感兴趣的欢迎交流 希尔排序 描述: 基本思想:先将整个待排序的记录序列分割成为若干子序列分别进行直 ...

  4. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  5. Set精讲(Java)·算法常用集合处理方法

    Set精讲(Java)·算法常用集合处理方法 Set概述 Set集合类似于一个罐子,程序可以依次把多个对象"丢进"Set集合,而Set集合通常不能记住元素的添加顺序.实际上Set就 ...

  6. 128位java_求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位...很着急,非常感谢各位大神,求救!...

    求一个java算法,用128位密钥的AES加密128位明文,得出的密文还是128位...很着急,非常感谢各位大神,求救! 关注:157  答案:1  mip版 解决时间 2021-02-03 09:1 ...

  7. java算法:冒泡排序

    java算法:冒泡排序 冒泡排序:不断遍历文件,交换倒序的相邻元素,直到文件排好顺序.冒泡排序的主要优点是容易实现,冒泡排序通常会比选择排序.插入排序慢. 如,对EXAMPLE 字母进行排序:  E  ...

  8. 悲哀!面试现场,简单几道java算法题,90%程序员没写出来

    这两天小编逛论坛的时候发现一个很有意思的事情,就是一位互联网公司的面试官分享的,他们最近想招一批java的实习生,所以他们的面试题并不难,但是前来面试的人,却很多都挂在了几道算法题上,要么就是逻辑不严 ...

  9. 黑马程序员---java算法实现输出任意奇数维数独

    java算法实现输出任意奇数维数独 ----------- android培训.java培训.java学习型技术博客.期待与您交流! ----------- /** 该类可以打印任意维数数独,但是必须 ...

最新文章

  1. Python 常用内置函数map、zip、filter、reduce、enumerate
  2. 第三十三篇、富文本 NSMutableAttributedString
  3. 开机出现grub rescue无法进入系统 恢复ubuntu系统下grub引导 windows xp和ubuntu9.10双系统引导程序的修复
  4. python才能做爬虫,No,C#也可以!
  5. 【桶排】小 X 的密码破译
  6. android 电视遥控 编程,Android编程调用红外线遥控功能示例
  7. finallshell使用_FinalShell使用---Xshell的良心国产软件
  8. idea往gitee上传项目
  9. linux远程仿真,11.5 仿真的远程桌面系统: XRDP 服务器
  10. oracle extract类型,Oracle中extract()函数
  11. Linux/Windows下查看同一网段下的所有活动IP
  12. Python使用requests发送post请求的三种方式
  13. 第02章:字符串是否包含
  14. 计算机音量程序是哪个键,计算机键盘上的哪个键是音量
  15. RuntimeError:The size of tensor a (100) must match the size of tensor b (12800) at non-singleton di
  16. 开心网创始人兼CEO程炳皓
  17. SKlearn - ValueError: Unknown label type: 'continuous'
  18. 真实收益DeFi崛起 这些DeFi协议已采用它
  19. 教你看懂ACC、TJA、 ICA、ICC 这些功能都能干些啥
  20. 理解Schnorr签名算法

热门文章

  1. win7设置html,Windows7怎么设置默认浏览器?
  2. 安装了email模块还是报错_官网的Pyngl和Pynio安装方法会报错!正确的在这里!
  3. Reverse for '**' with arguments '('',)' not found. 1 pattern(s) tried(topic_id与topic.id)
  4. java 摸拟qq消息提示_java 仿qq消息提示框
  5. html前沿技术网页,html页面标签元素总结
  6. xargs -i和-I的区别【转】
  7. javaweb开发1.环境配置(javaweb插件下载及tomact在eclips中配置)
  8. 心疼还在用Facebook的你一秒,Snapchat才是未来
  9. 火狐浏览器快捷键大全
  10. hbase 学习(十五)缓存机制以及可以利用SSD作为存储的BucketCache