房间安排(题目168)
假设:某个定单上的游客一旦被安排到某房间,在他预定住宿的期间内是不换房间的。为了简化描述,定单上的开始住宿时间为距离现在的第几天。例如,定单为(10,30,5)表示游客要求使用10个房间,第30天开始连住5天。
- 输入
- 第一行:T 表示有T组测试数据
每组测试数据第一行:N 表示定单数
每组测试数据接下来有N行,每行有三个整数 A B C 表示房间数,开始住宿时间和天数
1<=T<=100
1<=N<=10000 1<=A<=10 1<=B<=180 1<=c<=10 - 输出
- 输出一个整数,为满足所有定单要求的最少房间数。
- 样例输入
-
1 3 3 10 4 4 9 3 3 12 6
- 样例输出
-
7
-
-
#include<stdio.h> #include <memory.h> int main() { int T,N,a,b,c,num[200],i,max; scanf("%d",&T); while(T--) { max=0; memset(num,0,sizeof(num)); scanf("%d",&N); while(N--) { scanf("%d%d%d",&a,&b,&c); for(i=b;i<b+c;i++) { num[i]+=a; if(num[i]>max)max=num[i]; } } printf("%d\n",max); } return 0; }