小熊吃糖
来源:互联网 发布:知否 知否应是绿肥红瘦 编辑:程序博客网 时间:2024/04/28 13:53
小熊吃糖
1.小熊有战斗力和饥饿值;
2.战斗值高的小熊优先吃糖,消除饥饿;
3.若小熊未吃饱,将继续吃糖来消除饥饿,但是小熊不会吃撑;
输入:
第一行两个整数,一个是小熊个数n,糖果个数m;
第二行,每个糖果的大小,表示可以消除多少的饥饿;
剩下n行,两个整数,一个数是小熊的战斗力,一个值是小熊的饥饿值;
返回:
返回每个小熊剩余的饥饿值。
实例:
2 5
5 6 10 20 30
4 34
3 35
返回:
4
0
注意:下述代码只是通过上述测试用例,并没有具体在测试。
分析:
- 小熊吃糖,根据战斗力具有优先权,所以需要对小熊按照战斗力排序;
- 小熊吃了一个糖过后,该糖果就不存在了,所以suger[i]=0;
- 小熊吃糖的终止条件是:小熊剩下的饥饿值小于所有糖果的最小值;或者剩余饥饿值==0;
import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.LinkedList;import java.util.List;import java.util.Map;import java.util.Scanner;public class test1 { public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt();//bear int m = in.nextInt();//suger int[] suger = new int[m]; int[] bear = new int[n]; for(int i=0;i<m;i++){ suger[i] = in.nextInt(); } Map<Integer,Integer> map = new HashMap<Integer,Integer>(); for(int i=0;i<n;i++){ int zdl = in.nextInt(); int je = in.nextInt(); bear[i] = zdl; map.put(zdl,je); } List<Map.Entry<Integer,Integer>> list = new LinkedList<Map.Entry<Integer,Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() { public int compare(Map.Entry<Integer, Integer> arg0,Map.Entry<Integer, Integer> arg1){ return (arg1.getKey()-arg0.getKey()==0) ? (arg0.getKey()-arg1.getKey()):(arg1.getKey()-arg0.getKey()); } }); for(int i = 0;i<list.size();i++){ int jez = list.get(i).getValue(); Arrays.sort(suger); for(int j=m-1;j>=0;j--){ if(jez>=suger[j]){ jez -=suger[j]; suger[j] = 0; }else{ continue; } } map.put(list.get(i).getKey(), jez); } for(int i=0;i<n;i++){ System.out.println(map.get(bear[i])); } }}
运行结果:
输入:
2 5
5 6 10 20 30
4 34
3 35
输出:
4
0
阅读全文
0 0
- 小熊吃糖
- PDD笔试-小熊吃糖
- 小熊吃糖(结构体排序)
- 小熊吃蛋糕
- 【笔试题】拼多多1小熊吃糖果
- 324.猴子吃糖
- 小熊问题
- 给小熊
- 笨小熊
- 笨小熊
- 笨小熊
- 笨小熊
- 小熊睡不着
- 笨小熊
- 笨小熊
- 笨小熊
- 笨小熊
- 笨小熊
- 默认文件夹为空,如何从Microsoft Edge下载收藏夹
- Android 自定义控件canvas
- 浅析ATO,MTO和ETO
- scrapy简单的反爬虫方法总结
- 互联网营销的“盗梦经济学”
- 小熊吃糖
- TCP和UDP的区别
- List<?>和List<T>的区别(泛型)
- 去除Activity标题
- CSS笔记——overflow
- 同样的面试题,怎样回答可以让面试官一次就记住你!
- patchca整合Spring MVC生成超炫的验证码
- Android面试(一)
- [BZOJ]5018: [Snoi2017]英雄联盟 DP