zoukankan      html  css  js  c++  java
  • P1830 轰炸III

    P1830 轰炸III

      • 84通过
      • 145提交
    • 题目提供者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

    题解:

    模拟水题。

    AC代码:

    #include<bits/stdc++.h>
    using namespace std;
    const int N=110;
    int n,m,p,q,vis[N][N],mark[N][N]; 
    int main(){
        scanf("%d%d%d%d",&n,&m,&p,&q);
        for(int i=1,x1,y1,x2,y2;i<=p;i++){
            scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
            for(int j=x1;j<=x2;j++){
                for(int k=y1;k<=y2;k++){
                    vis[j][k]++;
                    mark[j][k]=i;
                }
            }
        }
        for(int i=1,x1,y1;i<=q;i++){
            scanf("%d%d",&x1,&y1);
            if(!vis[x1][y1]) puts("N");
            else printf("Y %d %d
    ",vis[x1][y1],mark[x1][y1]);
        }
        return 0;
    }
  • 相关阅读:
    python如何编译py文件生成pyc、pyo、pyd以及如何和C语言结合使用
    urllib.parse:很底层,但是是一个处理url路径的好模块
    pandas中的Series
    pandas中Series对象下的str所拥有的方法(df["xx"].str)
    10.集成学习与随机森林
    9.决策树
    8.支撑向量机SVM
    HTTP协议详细介绍
    mysql 总结
    MySql练习题参考答案
  • 原文地址:https://www.cnblogs.com/shenben/p/5861194.html
Copyright © 2011-2022 走看看