1760 - 综合练习- bombing

一个城市遭到了 MM 次轰炸,每次都炸了一个每条边都与边界平行的矩形

在轰炸后,有 NN 个关键点,指挥官想知道,它们有没有受到过轰炸。如果有,被炸了几次,最后一次是第几轮。
 

输入

第一行,两个整数:M,NM,N。 M,N \le 2000M,N≤2000

接下来 MM 行,每行四个整数:x_1x1​、y_1y1​、x_2x2​、y_2y2​,表示被轰炸的矩形的左上角坐标和右下角坐标(比如1 3 7 10就表示被轰炸的地方是从 (1,3)(1,3) 到 (7,10)(7,10) 的矩形)。

再接下来 NN 行,每行两个整数,表示每个关键点的坐标。

输出

共 NN 行,每行第一个字符串为YESNO,表示是否被轰炸,若为YES,在一个空格后为两个整数,表示被炸了几次和最后一次是第几轮。

样例

输入

复制

1 2
1 3 7 10
6 2
6 6

输出

复制

NO
YES 1 1
#include<bits/stdc++.h>

using namespace std;

int m,n,xa[10000],ya[10000],ans[10000],

xb[10000],yb[10000],da[10000];

int main(){

cin>>m>>n;

for(int i=1;i<=m;i++){

cin>>xa[i]>>ya[i]>>xb[i]>>yb[i];

}

for(int i=1;i<=n;i++){

int ax,ay;

cin>>ax>>ay;

for(int j=1;j<=m;j++)

{

if(ax>=xa[j]&&ax<=xb[j]&&ay>=ya[j]&&ay<=yb[j]){

ans[i]++; da[i]=j;

}

}

} for(int i=1;i<=n;i++){

if(ans[i]==0)

cout<<"NO"<<endl;

else{

cout<<"YES"<<" "<<ans[i]<<" "<<da[i]<<endl;

}

}

return 0;

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值