首页 > 代码库 > NYOJ题目168房间安排

NYOJ题目168房间安排

技术分享

------------------------------------------------

 

其实就是计算一下时间线上重叠部分的最大值是多少

一个很容易想到的办法就是模拟,如下

AC代码:

 1 import java.util.Scanner; 2  3 public class Main { 4      5     public static void main(String[] args) { 6          7         Scanner sc=new Scanner(System.in); 8          9         int times=sc.nextInt();10         while(times-->0){11             12             int n=sc.nextInt();13             int book[]=new int[10001];14             for(int i=0;i<n;i++){15                 int a=sc.nextInt();16                 int b=sc.nextInt();17                 int c=sc.nextInt();18                 while(c>0) book[b+c--]+=a;19             }20             int max=Integer.MIN_VALUE;21             for(int i=1;i<book.length;i++) max=Math.max(max,book[i]);22             System.out.println(max);23         }24         25     }26 27 }

 

题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=168

NYOJ题目168房间安排