• 洛谷 P1830 轰炸Ⅲ


    P1830 轰炸Ⅲ

    • 题目提供者wanglichao1121
    • 标签模拟矩阵洛谷原创
    • 难度普及/提高-

    题目背景

    一个大小为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

    #include<iostream>  
    #include<cstdio>
    using namespace std;  
    int n,m,x,y,a[1010][1010],f[1000][1000],x1,x2,y1,y2;  
    int main()
    {  
        scanf("%d%d%d%d",&n,&m,&x,&y);  
        for (int k=1;k<=x;k++)
        {  
            scanf("%d%d%d%d",&x1,&y1,&x2,&y2);  
            for (int i=x1;i<=x2;i++)  
                for (int j=y1;j<=y2;j++) 
                {  
                    a[i][j]++;  
                    f[i][j]=k; 
                }  
        }  
        for (int i=1;i<=y;i++)
        {  
            scanf("%d%d",&x1,&y1);  
            if (a[x1][y1]!=0) 
                printf("Y %d %d
    ",a[x1][y1],f[x1][y1]); 
            else 
                printf("N");  
        }  
    }  
  • 相关阅读:
    1065-两路合并
    1064-快速排序
    1063-冒泡排序
    1062-直接插入排序
    1061-简单选择排序
    1058-Tom and Jerry
    关于WinForm引用WPF窗体
    ref与out的区别
    看到他我一下子就悟了(续)---委托
    域名的a记录转过来他的公网ip
  • 原文地址:https://www.cnblogs.com/xiaoqi7/p/5862074.html
Copyright © 2020-2023  润新知