【HDU 5480 Conturbatio】
发布日期:2021-11-04 12:58:34 浏览次数:6 分类:技术文章

本文共 1637 字,大约阅读时间需要 5 分钟。

Conturbatio

Problem Description

There are many rook on a chessboard, a rook can attack the row and column it belongs, including its own place.

There are also many queries, each query gives a rectangle on the chess board, and asks whether every grid in the rectangle will be attacked by any rook?

Input

The first line of the input is a integer T, meaning that there are T test cases.

Every test cases begin with four integers n,m,K,Q.

K is the number of Rook, Q is the number of queries.

Then K lines follow, each contain two integers x,y describing the coordinate of Rook.

Then Q lines follow, each contain four integers x1,y1,x2,y2 describing the left-down and right-up coordinates of query.

1≤n,m,K,Q≤100,000.

1≤x≤n,1≤y≤m.

1≤x1≤x2≤n,1≤y1≤y2≤m.

Output

For every query output “Yes” or “No” as mentioned above.

Sample Input

2
2 2 1 2
1 1
1 1 1 2
2 1 2 2
2 2 2 1
1 1
1 2
2 1 2 2

Sample Output

Yes
No
Yes

#include
#include
int pa[100011];int st[100011];int main(){ int i,T; int N,M,K,Q; int x,y; int x1,y1,x2,y2; scanf("%d",&T); while(T--) { memset(pa,0,sizeof(pa)); memset(st,0,sizeof(st)); scanf("%d%d%d%d",&N,&M,&K,&Q); while(K--) { scanf("%d%d",&x,&y); pa[x]=1; st[y]=1; } for(i=1;i<=N;i++) pa[i]+=pa[i-1]; for(i=1;i<=M;i++) st[i]+=st[i-1]; while(Q--) { scanf("%d%d%d%d",&x1,&y1,&x2,&y2); if(pa[x2]-pa[x1-1]==x2-x1+1 || st[y2]-st[y1-1]==y2-y1+1) printf("Yes\n"); else printf("No\n"); } } return 0;}

转载地址:https://blog.csdn.net/WYK1823376647/article/details/52215245 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【HDU 5695 Gym Class】
下一篇:【你会喜欢的~~】

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月26日 03时04分39秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章