
#include<stdio.h>
#include<math.h>
#include<string.h>
int main(){
int t;
scanf("%d",&t);
while(t--){
int n,m,i,j;
int a1,b1,a2,b2;
int diyi[24]={0};
int dier[24]={0};
int w=0,e=0,count=0;
scanf("%d %d",&n,&m);
while(n--){
scanf("%d %d",&a1,&b1);
while(a1<=b1){
i=a1;
diyi[i]=1;
a1++;//从a1到b1的时间段都用1填充 ,表示这个时间段不空缺
}
}
while(m--){
scanf("%d %d",&a2,&b2);
while(a2<=b2){
j=a2;
dier[j]=1;//与上面同理
a2++;
}
}
for(w=0;w<24;w++){
if(diyi[w]==dier[w]&&diyi[w]==1){//如果两个人都有时间,就可以让总时间加1
count++;//count记录总时间
}
}
printf("%d\n",count);
}
return 0;
}
文章描述了一个使用C语言编写的算法,解决两个人在给定时间段内可以共同活动的问题,通过比较两个输入数组找出不冲突的时间段,计算总的共享时间。
473

被折叠的 条评论
为什么被折叠?



