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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 纳米管定制 单壁碳纳米管/六角钡铁氧体复
- 下一篇: 红河计算机学院王厚钧,“第一届云南省大学