zoukankan      html  css  js  c++  java
  • 牛客寒假6-E.海啸

    链接:https://ac.nowcoder.com/acm/contest/332/E

    题意:

    有一个沿海地区,可以看作有n行m列的城市,第i行第j列的城市海拔为h[i][j]。
    由于沿海,所以这个地区经常会发生海啸。
    海啸发生时,部分城市会被淹没,具体来说,海水高度会达到d,因此海拔低于d的城市都会被淹没。
    现在有q次询问,每次问你一个矩形区域中,有多少城市不会被淹没。

    思路:

    二维前缀和

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int n, m, d;
        int x;
        cin >> n >> m >> d;
        int res[n+1][m+1];
        for (int i = 0;i <= m;i++)
            res[0][i] = 0;
        for (int i = 0;i <= n;i++)
            res[i][0] = 0;
        for (int i = 1;i <= n;i++)
        {
            for (int j = 1; j <= m; j++)
            {
                cin >> x;
                int v = 0;
                if (x >= d)
                    v = 1;
                res[i][j] = res[i][j - 1] + res[i - 1][j] - res[i - 1][j - 1] + v;
            }
        }
        int q;
        int x1,x2,y1,y2;
        cin >> q;
        for (int i = 1;i <= q;i++)
        {
            cin >> x1 >> y1 >> x2 >> y2;
            cout << res[x2][y2] - res[x2][y1-1] - res[x1-1][y2] + res[x1-1][y1-1] << endl;
        }
    
        return 0;
    }
    

      

  • 相关阅读:
    Lamp环境搭建
    jquery之下拉列表select
    jquery之radio
    php连接postgresql
    ipython的notebook
    python连接postgresql数据库
    django最简单表单入门
    css制作简单下拉菜单
    下拉列表简单操作
    css制作最简单导航栏
  • 原文地址:https://www.cnblogs.com/YDDDD/p/10352878.html
Copyright © 2011-2022 走看看