2 条题解

  • 0
    @ 2022-12-6 10:58:09

    赛后开放题目和题解查看!

    这道题比较简单,适合暴力(别问怎么那么水,@出的)

    #include <iostream>
    #include <cmath>
    using namespace std;
    bool a[1001][1001];
    int main(){
        int x,y;
        cin >> x >> y;
        int n;
        cin >> n;
        int cnt = 0;
        for (int i = 1;i<=n;i++){
            int tx,ty;cin >> tx >> ty;
            for (int j = -4;j<=4;j++){
                for (int k = -4;k<=4;k++){//偏移量
                    if (tx+j<=0||ty+k<=0||tx+j>x||ty+k>y) continue;
                    if (abs(j)+abs(k)<=4&&a[j+tx][k+ty]==false){//判断是否能被灌溉到
                        cnt++;
                        a[tx+j][ty+k]=true;
                        //cout << tx+j << " " << ty+k << endl;
                    }
                }
            }
        }
        cout << cnt;
        return 0;
    }
    

    信息

    ID
    16
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    40
    已通过
    10
    上传者