L2-042 老板的作息表

L2-042 老板的作息表
将时间转换为秒,暴力解

#include
#include
#include
#include
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;
}

你可能感兴趣的:(天梯赛,c++,算法,c语言)