L2-042 老板的作息表
将时间转换为秒,暴力解
#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
const int N=24*3600+10;
int book[N];
int main()
{
int i,j,n;
scanf("%d",&n);
while(n--)
{
int h1,h2,s1,s2,m1,m2;
scanf("%d:%d:%d - %d:%d:%d",&h1,&m1,&s1,&h2,&m2,&s2);
for(i=h1*3600+m1*60+s1;i<=h2*3600+m2*60+s2-1;i++)
{
book[i]=1;
}
}
for(i=0;i<24*3600-1;i++)
{
if(book[i]) continue;
for(j=i+1;j<24*3600-1;j++)
{
if(book[j]) break;
}
printf("%02d:%02d:%02d - %02d:%02d:%02d\n",i/3600,i/60%60,i%60,j/3600,j/60%60,j%60);
i=j;
}
return 0;
}