• P1830 轰炸III


    题目背景

    一个大小为 �×�n×m 的城市遭到了 �x 次轰炸,每次都炸了一个每条边都与边界平行的矩形。

    题目描述

    在轰炸后,有 �y 个关键点,指挥官想知道,它们有没有受到过轰炸,如果有,被炸了几次,最后一次是第几轮。

    输入格式

    第一行共四个整数,分别为 �,�,�,�n,m,x,y。

    接下来 �x 行,每行四个整数 �1,�1,�2,�2x1​,y1​,x2​,y2​,表示被轰炸的矩形的左上角坐标和右下角坐标(比如 1,3,7,101,3,7,10 就表示被轰炸的地方是从 (1,3)(1,3) 到 (7,10)(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
    

    说明/提示

    对于 100%100% 数据,满足 1≤�,�≤1001≤n,m≤100。

    如果这个点的坐标在范围之内,那么将总数加上一,最后一次轰炸变成这一次:

    1. if(o>=c[j]&&o<=e[j]&&p>=d[j]&&p<=f[j]){
    2. sum+=1;
    3. last=j;
    4. }

     循环遍历每一个轰炸范围:

    1. for(int j=1;j<=x;j++){
    2. if(o>=c[j]&&o<=e[j]&&p>=d[j]&&p<=f[j]){
    3. sum+=1;
    4. last=j;
    5. }//如果这个点的坐标在范围之内,那么将总数加上一,最后一次轰炸变成这一次
    6. }

    前提是总数要大于等于0才能输出有被轰炸:

    1. if(sum>0){
    2. cout<<"Y"<<" "<" "<
    3. }

    循环遍历每一个点坐标:

    1. for(int i=1;i<=y;i++){
    2. int o,p,sum=0,last=0;
    3. cin>>o>>p;
    4. for(int j=1;j<=x;j++){
    5. if(o>=c[j]&&o<=e[j]&&p>=d[j]&&p<=f[j]){
    6. sum+=1;
    7. last=j;
    8. }//如果这个点的坐标在范围之内,那么将总数加上一,最后一次轰炸变成这一次
    9. }//循环遍历每一个轰炸范围
    10. if(sum>0){
    11. cout<<"Y"<<" "<" "<
    12. }//前提是总数要大于等于0才能输出有被轰炸
    13. else{
    14. cout<<"N"<
    15. }
    16. }

    源代码

    1. #include
    2. using namespace std;
    3. int main(){
    4. int n,m,x,y,a[101],b[101],c[101],d[101],e[101],f[101];
    5. cin>>n>>m>>x>>y;
    6. for(int i=1;i<=x;i++){
    7. cin>>c[i]>>d[i]>>e[i]>>f[i];
    8. }for(int i=1;i<=y;i++){
    9. int o,p,sum=0,last=0;
    10. cin>>o>>p;
    11. for(int j=1;j<=x;j++){
    12. if(o>=c[j]&&o<=e[j]&&p>=d[j]&&p<=f[j]){
    13. sum+=1;
    14. last=j;
    15. }//如果这个点的坐标在范围之内,那么将总数加上一,最后一次轰炸变成这一次
    16. }//循环遍历每一个轰炸范围
    17. if(sum>0){
    18. cout<<"Y"<<" "<" "<
    19. }//前提是总数要大于等于0才能输出有被轰炸
    20. else{
    21. cout<<"N"<
    22. }
    23. }//循环遍历每一个点坐标
    24. return 0;
    25. }

  • 相关阅读:
    流程管理与商务智能解决方案(62页PPT)
    css图片滚动
    PTA编程的一些总结
    电容笔好还是触屏笔好?便宜又好用的电容笔推荐
    leetcode二叉树相关模板
    C#归并排序算法
    物理服务器和云服务器的区别
    使用swc 替换ts-loader 加速构建webpack-vue-tsx项目
    第42期:MySQL 是否有必要多列分区
    uboot移植之DDR初始化参数更改
  • 原文地址:https://blog.csdn.net/pd___gwx0804/article/details/133420184