洛谷P1847 轟炸
阿新 • • 發佈:2018-12-17
題目背景
本題為轟炸資料加強版
題目描述
一個城市遭到了M次轟炸,每次都炸了一個每條邊都與邊界平行的矩形
在轟炸後,有N個關鍵點,指揮官想知道,它們有沒有受到過轟炸,如果有,被炸了幾次,最後一次是第幾輪。
輸入輸出格式
輸入格式: 第一行,兩個整數:M,N
以下M行,每行四個整數:x1、y1、x2、y2,表示被轟炸的矩形的左上角座標和右下角座標(比如1 3 7 10就表示被轟炸的地方是從(1,3)到(7,10)的矩形)。
再以下N行,每行兩個整數,表示這個關鍵點的座標。
輸出格式: 共N行,
每行第一個字元為YES或NO,表示是否被轟炸,若為YES,在一個空格後為兩個整數,表示被炸了幾次和最後一次是第幾輪。
輸入輸出樣例
輸入樣例#1: 1 1 1 1 10 10 11 11 輸出樣例#1: NO 說明
1<=N,M<=2000
1<=x1,y1,x2,y2<=maxlongint
#include<bits/stdc++.h>
using namespace std;
long long tot,ans,n,m;
int main()
{
cin>>m>>n;
long long a[n+1],b[n+1],x[n+1],y[n+1],i,j;
for(int k=1;k<=m;k++)
cin>> a[k]>>b[k]>>x[k]>>y[k];
for(int o=1;o<=n;o++)
{cin>>i>>j;
for(int k=1;k<=m;k++)
if(i>=a[k]&&i<=x[k]&&j>=b[k]&&j<=y[k])
{tot++;
ans=k;
}
if(tot==0)cout<<"NO"<<endl;
else cout<<"YES"<<" "<<tot<<" "<<ans<<endl;
tot=0;
}
}