ACM (ACMers' Chatting Messenger) is a famous instant messaging software developed by Marjar Technology Company. To attract more users, Edward, the boss of Marjar Company, has recently added a new feature to the software. The new feature can be described as follows:

If two users, A and B, have been sending messages to each other on the last mconsecutive days, the "friendship point" between them will be increased by 1 point.

More formally, if user A sent messages to user B on each day between the (i - m + 1)-th day and the i-th day (both inclusive), and user B also sent messages to user A on each day between the (i - m + 1)-th day and the i-th day (also both inclusive), the "friendship point" between A and B will be increased by 1 at the end of the i-th day.

Given the chatting logs of two users A and B during n consecutive days, what's the number of the friendship points between them at the end of the n-th day (given that the initial friendship point between them is 0)?

Input

There are multiple test cases. The first line of input contains an integer T (1 ≤ T≤ 10), indicating the number of test cases. For each test case:

The first line contains 4 integers n (1 ≤ n ≤ 109), m (1 ≤ m ≤ n), x and y (1 ≤ xy ≤ 100). The meanings of n and m are described above, while x indicates the number of chatting logs about the messages sent by A to B, and y indicates the number of chatting logs about the messages sent by B to A.

For the following x lines, the i-th line contains 2 integers lai and rai (1 ≤ la,i ≤ rai ≤ n), indicating that A sent messages to B on each day between the lai-th day and the rai-th day (both inclusive).

For the following y lines, the i-th line contains 2 integers lbi and rbi (1 ≤ lb,i ≤ rbi ≤ n), indicating that B sent messages to A on each day between the lbi-th day and the rbi-th day (both inclusive).

It is guaranteed that for all 1 ≤ i < xrai + 1 < lai + 1 and for all 1 ≤ i < yrbi + 1 < lbi + 1.

Output

For each test case, output one line containing one integer, indicating the number of friendship points between A and B at the end of the n-th day.

Sample Input

2
10 3 3 2
1 3
5 8
10 10
1 8
10 10
5 3 1 1
1 2
4 5

Sample Output

3
0

Hint

For the first test case, user A and user B send messages to each other on the 1st, 2nd, 3rd, 5th, 6th, 7th, 8th and 10th day. As m = 3, the friendship points between them will be increased by 1 at the end of the 3rd, 7th and 8th day. So the answer is 3.

题意:

给出x(1<=x<=100)个区间和y(1<=y<=100)个区间,求出存在几个长度为m(1<=m<=n)公共子区间。

把题目样例看懂了,基本上题目就会做了。

// Asimple
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <queue>
#include <vector>
#include <string>
#include <cstring>
#include <stack>
#define INF 0x3f3f3f3f
#define mod 2016
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = ;
int n, m, T, len, cnt, num, Max;
int x, y; struct node{
int l;
int r;
};
node a[maxn], b[maxn]; void input() {
scanf("%d", &T);
while( T -- ) {
cin >> n >> m >> x >> y;
memset(a, , sizeof(a));
memset(b, , sizeof(b));
for(int i=; i<x; i++) {
cin >> a[i].l >> a[i].r;
}
for(int i=; i<y; i++) {
cin >> b[i].l >> b[i].r;
}
int cnt = ;
for(int i=; i<x; i++) {
if( a[i].r-a[i].l+ < m ) continue;
for(int j=; j<y; j++) {
if( b[j].r-b[j].l+ < m ) continue;
int l = max(a[i].l, b[j].l);
int r = min(a[i].r, b[j].r);
if( r - l + >= m ) {
cnt += r-l+ -m+;
}
}
}
cout << cnt << endl;
}
} int main() {
input();
return ;
}

Let's Chat ZOJ - 3961的更多相关文章

  1. 2017浙江省赛 D - Let's Chat ZOJ - 3961

    地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3961 题目: ACM (ACMers' Chatting Messe ...

  2. ZOJ 3961 Let's Chat 【水】

    题目链接 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3961 题意 给出两个人的发消息的记录,然后 如果有两人在连续M天 ...

  3. ZOJ - 3961 Let's Chat(区间相交)

    题意:给定一个长度为n的序列,A和B两人分别给定一些按递增顺序排列的区间,区间个数分别为x和y,问被A和B同时给定的区间中长度为m的子区间个数. 分析: 1.1 ≤ n ≤ 109,而1 ≤x, y  ...

  4. ZOJ People Counting

    第十三届浙江省大学生程序设计竞赛 I 题, 一道模拟题. ZOJ  3944http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=394 ...

  5. ZOJ 3686 A Simple Tree Problem

    A Simple Tree Problem Time Limit: 3 Seconds      Memory Limit: 65536 KB Given a rooted tree, each no ...

  6. 三周,用长轮询实现Chat并迁移到Azure测试

    公司的OA从零开始进行开发,继简单的单点登陆.角色与权限.消息中间件之后,轮到在线即时通信的模块需要我独立去完成.这三周除了逛网店见爱*看动漫接兼职,基本上都花在这上面了.简单地说就是用MVC4基于长 ...

  7. Socket programing(make a chat software) summary 1:How to accsess LAN from WAN

    First we should know some basic conceptions about network: 1.Every PC is supposed to have its own IP ...

  8. ZOJ Problem Set - 1394 Polar Explorer

    这道题目还是简单的,但是自己WA了好几次,总结下: 1.对输入的总结,加上上次ZOJ Problem Set - 1334 Basically Speaking ac代码及总结这道题目的总结 题目要求 ...

  9. ZOJ Problem Set - 1392 The Hardest Problem Ever

    放了一个长长的暑假,可能是这辈子最后一个这么长的暑假了吧,呵呵...今天来实验室了,先找了zoj上面简单的题目练练手直接贴代码了,不解释,就是一道简单的密文转换问题: #include <std ...

随机推荐

  1. vue-自定义pc端键盘-动画

    <template> <div class="keyboard"> <div class="keyboard_key"> & ...

  2. python的运行机制

    不需要生成二进制代码,python解释器把源码->字节码,然后在执行这些字节码. 解释器的具体工作: 1.完成模块(module)的加载和链接 2.将源代码编译成pyCodeObject(字节码 ...

  3. api-gateway-engine知识点(2)

    GroupVersion实现engine本地缓存 package com.inspur.cloud.apigw.engine.cache; import java.util.Map;import ja ...

  4. lua加载函数require和dofile

    lua加载函数require和dofile Lua提供高级的require函数来加载运行库.粗略的说require和dofile完成同样的功能但有两点不同: 1. require会搜索目录加载文件; ...

  5. git push 报错:you are not allowed to upload merges

    git rebase Cannot rebase: You have unstaged changes. git stash # 每次 push 前 git pull --rebase git pus ...

  6. Hybrid设计--H5和Native,收口

    Native提供容器,不要涉及太多的业务,否则就失去了通用性. H5和Native的差异是短时间内解决不了的,React Native 超越Hydrid跨平台解决方案. 前端和 Native约定了一个 ...

  7. Spring+SpringMVC+MyBatis整合应用

    1)搭建Spring,SpringMVC和MyBatis环境 创建一个web工程 添加MyBatis相关环境 引入数据库驱动包和DBCP连接池开发包 引入MyBatis开发包 添加Spring,Spr ...

  8. xml--myeclipse用快捷键注释xml语句

    7.5以上版本才可以ctrl+shift+/ 撤销注释:CTRL + SHIFT + \ 参考:https://blog.csdn.net/tengdazhang770960436/article/d ...

  9. 500次访问之后php-cgi进程退出

    之前遇到过php-cgi进程意外退出的问题,以为是负载过高导致的,这几天在写一个向数据库插数据的程序,测试稳定性时又遇到这种问题. 于是搜索,找到了这篇文章:http://stackoverflow. ...

  10. arcgis api for js简要笔记

    1.主要借助官网的接口文档和samplecode来学习 https://developers.arcgis.com/javascript/latest/api-reference/index.html ...