欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

1760 - 综合练习- bombing

发布时间:2024/1/18 68 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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 行,每行第一个字符串为YES或NO,表示是否被轰炸,若为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;

}

总结

以上是生活随笔为你收集整理的1760 - 综合练习- bombing的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。