• poj1083,基本互斥问题


    题意:南北两侧各有200个房间,两侧房间之间有一个走廊

      现在需要把桌子从这400个房间之中搬进搬出,每一张桌子需要10分钟时间,如果走廊因为有桌子搬运而占用,则需等待,求共需多少时间(分钟)将桌子搬完

    分析:由于走廊跨越200个房间,设置数组大小为200的数组,如从x出发搬到y,则把x到y的走廊全部+10,最后求该数组最大值,便是结果

    原因:若从x出发到y,中间有桌子也需要搬运,则冲突的路段势必会耽误10分钟时间,耽误时间的最大值便是结果(只要不冲突,同一时间可以搬运多张桌子)

    import java.util.Arrays;
    import java.util.Scanner;
    
    public class Main1083 {
        
        public static int getMax(int[] a){
            
            int max = 0;
            for(int i=0;i<a.length;i++){
                if(a[i]>max){
                    max = a[i];
                }
            }
            return max;
            
        }
    
        public static void main(String[] args) {
            
            Scanner scanner = new Scanner(System.in);
            int t = scanner.nextInt();
            while(t-->0){
                int[] corridor = new int[200];
                int n = scanner.nextInt();
                for(int i=0;i<n;i++){
                    int x,y;
                    int start,end;
                    x = scanner.nextInt();
                    y = scanner.nextInt();
                    start = ((x > y? y : x)-1)/2;
                    end = ((x < y? y : x)-1)/2;
                    for(int j=start;j<=end;j++){
                        corridor[j] += 10;
                    }
                }
                System.out.println(getMax(corridor));
            }
            
        }
    
    }
  • 相关阅读:
    几句让自己保留的动力的格言
    repo 的几个使用理解
    (转)汇编中断大全
    (转) 汇编.section和.text解释
    find 命令一些小技巧;
    android 系统使用c语言获取系统属性
    新的起点
    PDBC详细介绍
    PDBC(连接数据库)
    Python——基础知识
  • 原文地址:https://www.cnblogs.com/tz346125264/p/7131232.html
Copyright © 2020-2023  润新知