您的位置:首页 > 其它

蘑菇街2016研发工程师_聊天

2016-03-14 20:59 357 查看
A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2 ,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?

#include <iostream>
using namespace std;

int main(int argc, const char * argv[]) {
// insert code here...
int q, p, l, r;
int a[50][2], b[50][2];
//    int c[1000] = {0};
int total;
while (cin >> q >> p >> l >> r) {
total = 0;
int c[1000] = {0};
for (int i = 0; i < q; i++) {
cin >> a[i][0] >> a[i][1];
}
for (int i = 0; i < p; i++) {
cin >> b[i][0] >> b[i][1];
}
for (int i = l; i <= r; i++) {
for (int j = 0; j < q; j++) {
for (int k = 0; k < p; k++) {
if ((b[k][0] + i <= a[j][0] && b[k][1] + i >= a[j][0]) ||
(b[k][0] + i <= a[j][1] && b[k][1] + i >= a[j][1]) ||
(b[k][0] + i <= a[j][0] && b[k][1] + i >= a[j][1]) ||
(b[k][0] + i >= a[j][0] && b[k][1] + i <= a[j][1]))
c[i] = 1;
}
}
total += c[i];
}
cout << total << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: