璟雯院

珺璟如晔,雯华若锦

用户工具

站点工具


icpc:problems:luogup5542
problems
名称Painting The Barn S
题目编号P5542
题目链接luogu.com.cn/…
来源Luogu
算法分类前缀和
难易程度容易

Painting The Barn S

想法

二维前缀和,先竖着扫一遍,再横着扫一遍。需要理解题目中点与矩形的关系。

代码实现

#include <cstdio>
 
const int N = 1010;
int cha[N][N], sum[N][N];
 
int main() {
    int n, k;
    scanf("%d %d", &n, &k);
    for (int i = 1; i <= n; i++) {
        int x1, y1, x2, y2;
        scanf("%d %d %d %d", &x1, &y1, &x2, &y2);
        cha[x1][y1] += 1;
        cha[x2][y1] -= 1;
        cha[x1][y2] -= 1;
        cha[x2][y2] += 1;
    }
    for (int i = 0; i < N; i++)
        for (int j = 1; j < N; j++)
            cha[j][i] += cha[j - 1][i];
 
    for (int i = 0; i < N; i++)
        for (int j = 1; j < N; j++)
            cha[i][j] += cha[i][j - 1];
 
    int cnt = 0;
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            if (cha[i][j] == k)
                cnt++;
    printf("%d", cnt);
    return 0;
}
/app/www/public/data/pages/icpc/problems/luogup5542.txt · 最后更改: 2024/03/26 14:22 由 温婕莺