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

    洛谷-P1830 轰炸III

    原题链接:https://www.luogu.com.cn/problem/P1830


    题目背景

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

    C++代码

    #include <iostream>
    using namespace std;
    
    int a[105][105],c[105][105];
    
    int main() {
        int n, m, x, y;
        cin >> n >> m >> x >> y;
        int x1[x], y1[x], x2[x], y2[x], yx[y], yy[y];
        for (int i=0; i<x; ++i)
            cin >> x1[i] >> y1[i] >> x2[i] >> y2[i];
        for (int i=0; i<y; ++i)
            cin >> yx[i] >> yy[i];
        for (int i=0; i<x; ++i)
            for (int j=x1[i]; j<=x2[i]; ++j)
                for (int k=y1[i]; k<=y2[i]; ++k) {
                    ++a[j][k];
                    c[j][k] = i+1;
                }
        for (int i=0; i<y; ++i)
            if (a[yx[i]][yy[i]] != 0)
                cout << "Y " << a[yx[i]][yy[i]]
                    << ' ' << c[yx[i]][yy[i]] << endl;
            else
                cout << 'N' << endl;
        return 0;
    }
    
  • 相关阅读:
    array_unshift() 、
    readfile() 函数
    Java的异常处理
    Java 接口
    Java 抽象类
    final关键字
    statice关键字
    dom查询
    JS 正则表达式
    JS对象
  • 原文地址:https://www.cnblogs.com/yuzec/p/13461876.html
Copyright © 2011-2022 走看看