不得不说,bastcoder是个hack游戏啊!!!
题意:求最少要多少张椅子才能让所有来的客人有地方坐!!
就是一个区间的处理吧!!!和HDU 1556 我待水似流年,流年待我似水神似!!!!
求的是重叠的区间最大,我们只要标记每个区间会有多少人就可以了!!!
然后在从0到1440分统计就OK了!!
AC代码如下:
#include<iostream> #include<cstdio> #include<cmath> #include<map> #include<algorithm> #include<cstring> #define ll long long using namespace std; struct h { int r,h1,m1,h2,m2; }a[10005]; int main() { int t; cin>>t; int i,j; int b[2000]; while(t--) { memset(b,0,sizeof b); int n; cin>>n; for(i=0;i<n;i++) { scanf("%d %d:%d %d:%d",&a[i].r,&a[i].h1,&a[i].m1,&a[i].h2,&a[i].m2); a[i].m1=a[i].m1+60*a[i].h1;a[i].m2=a[i].m2+60*a[i].h2; b[a[i].m1]+=a[i].r;b[a[i].m2]-=a[i].r; } int maxx; maxx=0; int ans=0; for(i=0;i<=1440;i++) { ans+=b[i]; if(ans>maxx) maxx=ans; } cout<<maxx<<endl; } return 0; }
BestCoder Round #2 1001 TIANKENG’s restaurant,布布扣,bubuko.com
时间: 2024-10-25 11:03:29