房间安排
房間安排
時間限制:3000?ms ?|? 內存限制:65535?KB 難度:2 描述2010年上海世界博覽會(Expo2010),是第41屆世界博覽會。于2010年5月1日至10月31日期間,在中國上海市舉行。本次世博會也是由中國舉辦的首屆世界博覽會。上海世博會以“城市,讓生活更美好”(Better City,Better Life)為主題,將充分探索21世紀城市生活。
這次世博會總投資達450億人民幣,創造了世界博覽會史上的最大規模記錄。吸引200個國家和國際組織參展。預計有7000萬人次的參觀者。
為了更好地接待在這期間來自世界各地的參觀者,如何合理安排各賓館的住房問題提到了日程。組委會已接到了大量的客戶住宿定單,每張定單的內容包括要住宿的房間數,開始住宿時間和要住的天數。為了便于整個城市各賓館的管理,組委會希望對這些定單進行安排,目的是用盡可能少的房間來滿足這些定單,以便空出更多的房間用于安排流動游客。
組委會請求DR.Kong來完成這個任務,對這些定單進行合理安排,使得滿足這些定單要求的房間數最少。
假設:某個定單上的游客一旦被安排到某房間,在他預定住宿的期間內是不換房間的。為了簡化描述,定單上的開始住宿時間為距離現在的第幾天。例如,定單為(10,30,5)表示游客要求使用10個房間,第30天開始連住5天。
每組測試數據第一行:N 表示定單數
每組測試數據接下來有N行,每行有三個整數 A B C 表示房間數,開始住宿時間和天數
1<=T<=100
1<=N<=10000 1<=A<=10 1<=B<=180 1<=c<=10
#include<stack>
#include<string>
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(int argc, char* argv[])
{
int t;
cin>>t;
while(t--)
{
int n,i,j,k,max;
int a[10005],b[10005],c[10005];
cin>>n;
for(i=1;i<=n;i++)
cin>>a[i]>>b[i]>>c[i];
max=0;
for(i=1;i<=180;i++)
{
k=0;
for(j=1;j<=n;j++)
{
if(b[j]<=i&&c[j]+b[j]-1>=i)
{
k=k+a[j];
if(k>max) max=k;
}
}
}
cout<<max<<endl;
}
return 0;
}
轉載于:https://www.cnblogs.com/52Cyan/p/3697129.html
總結
- 上一篇: phpmyadmin教程:使用phpmy
- 下一篇: 模拟真实环境之内网漫游