夯实基础——P1830 轰炸III
题目链接:https://www.luogu.org/problem/P1830
P1830 轰炸III
题目背景
一个大小为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
这道题是一道简单且存粹的模拟题,只需要思考一下就好了,不需要太高深的技术,在此就不在对题目进行进一步的解释了
一切尽在代码中!!!
1 #include <iostream> 2 3 using namespace std; 4 5 int n,m,x,y,tol,ed; 6 7 int a[1001],b[1001],c[1001],d[1001]; 8 9 bool check(int f,int ff) 10 { 11 bool t=false; 12 for(int i=1;i<=x;i++) 13 { 14 if(f<=c[i]&&f>=a[i]&&ff<=d[i]&&ff>=b[i]) 15 tol++,ed=i,t=true; 16 } 17 return t; 18 } 19 20 int main() 21 { 22 cin>>n>>m>>x>>y; 23 for(int i=1;i<=x;i++) 24 cin>>a[i]>>b[i]>>c[i]>>d[i]; 25 for(int i=1;i<=y;i++) 26 { 27 int xx=0,yy=0; 28 cin>>xx>>yy; 29 if(check(xx,yy)) 30 cout<<"Y "<<tol<<" "<<ed<<endl,tol=ed=0; 31 else cout<<"N"<<endl; 32 } 33 }
夯实基础,认真做好每一道题!!!
作者:Gmax
本版权归作者和博客园共有,转载请用链接,切勿原文转载,Thanks♪(・ω・)ノ
2019-08-12