心急的C小加
来源:互联网 发布:尘埃落定 知乎 编辑:程序博客网 时间:2024/06/10 09:38
题目:C小加有一些木棒,它们的长度和质量都已经知道,需要一个机器处理这些木棒,机器开启的时候需要耗费一个单位的时间,如果第i+1个木棒的重量和长度都大于等于第i个处理的木棒,那么将不会耗费时间,否则需要消耗一个单位的时间。因为急着去约会,C小加想在最短的时间内把木棒处理完,你能告诉他应该怎样做吗?
思路:先将木棒按照长度来进行排序,如果长度相同就按照重量来进行排序;利用贪心的方法依次筛选。
import java.util.Arrays;import java.util.Scanner;public class Main implements Comparable<Main>{ int weight; int length; public Main(int weight,int length){ this.length=length; this.weight=weight; } public static void main(String[] args) { Scanner input=new Scanner(System.in); int t=input.nextInt(); while (t-->0) { int n=input.nextInt(); Main arr[]=new Main[n]; for (int i = 0; i < arr.length; i++) { int temp1=input.nextInt(); int temp2=input.nextInt(); arr[i]=new Main(temp2, temp1); } Arrays.sort(arr); int count=0; int temp=0;// for (int i = 0; i < arr.length; i++) {// System.out.println(arr[i].length);// System.out.println(arr[i].weight);// } for (int i = 0; i < arr.length; i++) { if (arr[i].weight!=0) { temp=arr[i].weight; count++; for (int j = i+1; j < arr.length; j++) { if (arr[j].weight>=temp) { temp=arr[j].weight; arr[j].weight=0; } } } } System.out.println(count); } // TODO Auto-generated method stub } public int compareTo(Main m){ if (this.length<m.length) { return -1; } if (this.length==m.length && this.weight<m.weight) { return -1; } return 1; }}
阅读全文
0 0
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的C小加
- 心急的c小加
- 心急的C小加
- tp中getField使用实例
- JAVA 集合知识点总结
- centos环境下svn服务器的安装
- QT类学习系列(3)
- Linux环境下一些有用但不常见的命令(三)
- 心急的C小加
- Encording
- Navicat Table 'performance_schema.session_status' doesn't exist
- 数据结构 c语言实现顺序队列(输数字入队,字符出队)
- day14(正则表达式,Math,Random,System,BigInteger,BigDecimal,Date等)
- 51nod 1133 不重叠的线段(贪心)
- Win7环境安装Anaconda
- js 自定义属性
- java生成并展示验证码