题目背景
一个大小为N*M的城市遭到了X次轰炸,每次都炸了一个每条边都与边界平行的矩形。
题目描述
在轰炸后,有Y个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次,最后一次是第几轮。
输入格式
第一行,四个整数:n、m、x、y。
以下x行,每行四个整数:x1、y1、x2、y2,表示被轰炸的矩形的左上角坐标和右下角坐标(比如1 3 7 10就表示被轰炸的地方是从(1,3)到(7,10)的矩形)。
再以下y行,每行两个整数,表示这个关键点的坐标。
输出格式
共y行,
每行第一个字符为Y或N,表示是否被轰炸,若为Y,在一个空格后为两个整数,表示被炸了几次和最后一次是第几轮。
输入输出样例
输入 #1
10 10 2 3 1 1 5 5 5 5 10 10 3 2 5 5 7 1
输出 #1
Y 1 1 Y 2 2 N
说明/提示
数据很弱!!!直接模拟!!!!
1<=N,M<=100
1 #include<bits/stdc++.h> 2 using namespace std; 3 int main() 4 { 5 int x,y,n,m,q,w,x1[101],y1[101],x2[101],y2[101]; 6 cin>>n>>m>>q>>w; 7 for(int i=1;i<=q;i++) 8 { 9 cin>>x1[i]>>y1[i]>>x2[i]>>y2[i]; 10 } 11 int s=0,l=0,k=0; 12 for(int i=1;i<=w;i++) 13 { 14 s=0; 15 l=0; 16 k=0; 17 cin>>x>>y; 18 for(int j=1;j<=q;j++) 19 { 20 if(x>=x1[j]&&x<=x2[j]&&y>=y1[j]&&y<=y2[j]&&s==0) 21 { 22 cout<<"Y "; 23 s=1; 24 } 25 if(x>=x1[j]&&x<=x2[j]&&y>=y1[j]&&y<=y2[j]) 26 { 27 k++; 28 l=j; 29 } 30 } 31 if(s==1) cout<<k<<' '<<l<<endl; 32 else cout<<"N"<<endl; 33 } 34 return 0; 35 }