杭电oj2037——今年暑假不AC(java实现)

思路:标准贪心

先把所有思路列出来:

1.优先选择开始时间最早的,经分析,不可行

2.优先选择持续时间最短的,经分析,不可行

3.优先选择结束时间最早的,经分析,可行

然后根据第三种思路实现代码就好

实现思路:先将数据存在二维数组里,然后用冒泡排序结束时间升序排序,然后遍历一遍,选择时间能衔接得上的

source code:

package hduoj;

import java.util.Scanner;

public class hdoj_2037 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(true){
            int count = sc.nextInt();
            if(count == 0) break;
            int[][] data = new int[count][2];
            for(int i = 0;i<count;++i){
                data[i][0] = sc.nextInt();
                data[i][1] = sc.nextInt();
            }//initialize
            bubble_2D_arr(data);
            int res = 0;
            int index = -1;
            for(int i = 0;i < data.length;++i){
                if(data[i][0]>=index){
                    ++res;
                    index = data[i][1];
                }
            }
            System.out.println(res);
        }
    }

    private static void bubble_2D_arr(int[][] arr){
        boolean flag = false;
        int len = arr.length;//get the line number
        for(int i = 0;i < len;++i){
            for(int j = 1;j < len - i;++j){
                if(arr[j-1][1] > arr[j][1]){
                    int temp1 = arr[j-1][0];
                    int temp2 = arr[j-1][1];
                    arr[j-1][0] = arr[j][0];
                    arr[j-1][1] = arr[j][1];
                    arr[j][0] = temp1;
                    arr[j][1] = temp2;
                    flag = true;
                }
            }
            if(!flag) break;//indicates the seq isn‘t change ever before
        }
    }
}

代码已经ac

希望对大家有所帮助

以上

原文地址:https://www.cnblogs.com/lavender-pansy/p/12253038.html

时间: 2024-11-05 22:05:37

杭电oj2037——今年暑假不AC(java实现)的相关文章

杭电 2037 今年暑假不AC

Problem Description “今年暑假不AC?”“是的.”“那你干什么呢?”“看世界杯呀,笨蛋!”“@#$%^&*%...” 确实如此,世界杯来了,球迷的节日也来了,估计很多ACMer也会抛开电脑,奔向电视了.作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事).非常6+7.超级女生,以及王小丫的<开心辞典>等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?(目标是能看尽

杭电1379(DNA Sorting)java面向对象编程

点击打开链杭电1379 Problem Description One measure of ``unsortedness'' in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence ``DAABEC'', this measure is 5, since D is greater t

杭电1047(Integer Inquiry)java水过

点击打开杭电1047 Problem Description One of the first users of BIT's new supercomputer was Chip Diller. He extended his exploration of powers of 3 to go from 0 to 333 and he explored taking various sums of those numbers. ``This supercomputer is great,'' re

杭电oj_2035——人见人爱A^B(java实现)

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2035 思路:(网上学来的,偏向数学的不咋懂/捂脸)每次乘法的时候都取后三位(可能有些含糊,直接看代码吧,一看就懂) source code: package hduoj; import java.util.Scanner; public class hdoj_2035 { public static void main(String[] args) { Scanner sc = new Scanne

杭电oj_2063——过山车(java实现)

原题链接: http://acm.hdu.edu.cn/showproblem.php?pid=2063 思路: 一开始用贪心做:按每一个女孩子期望搭档的人的数量将数组排序,然后优先选择期望数量少的,但是在oj上WA了(没想通为啥不行,有会的大佬还望指点/拜托) 然后就在网上看博客,看到大家都是用“匈牙利算法”做的,以前没听过,长知识了/捂脸 总结匈牙利算法本身:优先选择候选数据的第一个,然后能让就让——让的意思是自己选取下一个,将原来的腾给新的请求者,如果自己都没得选了,则不让(貌似也是贪心的

一个人的旅行(杭电oj2066)(Dijkstra算法)

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20267    Accepted Submission(s): 7081 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰

杭电acm 1049题

一道水题..... 大意是一条1inch的虫子在一个n inch的盒子的底部,有足够的能够每一分钟往上爬u inch,但是需要休息一分钟,这期间会往下掉d inch,虫子爬到盒子口即认为结束.要求计算出给定的n,u,d虫子爬上的时间. 1 /****************************************************** 2 杭电acm 1049题 已AC 3 *****************************************************/

杭电acm 1076题

水题,一个求闰年的题目,复习一下闰年的求法.... 1,如果能被4整除但不能被100整除的是闰年 2,能被400整除的是闰年 题目大意是:给定一个开始年份T以及一个正数N,要求求出从T开始,到了哪一年刚好是第N个闰年,如果开始年份是闰年则记为第一个闰年.... 1 /*********************************** 2 杭电acm 1076题 已AC 3 *************************************/ 4 #include <iostream>

杭电OJ(HDU)-ACMSteps-Chapter Three-《FatMouse&amp;#39; Trade》《今年暑假不AC》《排名》《开门人和关门人》

http://acm.hdu.edu.cn/game/entry/problem/list.php?chapterid=1§ionid=3 1.3.1 FatMouse' Trade #include <algorithm> /* 题意:价值/代价的比值来排序,买比值大的. Sample Input 5 3 7 2 4 3 5 2 20 3 25 18 24 15 15 10 -1 -1 Sample Output 13.333 31.500 */ #include<stdio.h>