美文网首页
黑格子覆盖

黑格子覆盖

作者: 何景根 | 来源:发表于2020-11-05 10:37 被阅读0次
    #include <cstring>
    #include <iostream>
    using namespace std;
    int a[1050][1050],M,N,m,n,k,x,y,tm,tn,sum;
    int main(){
        memset(a, 0, sizeof(a));
        cin>>M>>N>>m>>n>>k;
        for (int i=1; i<=k; i++) {
            cin>>x>>y;
            a[x][y]=1;
        }
        for (int i=1; i<=M; i++) {
            for (int j=1; j<=N; j++) {
                a[i][j]=a[i][j-1]+a[i][j];
            }
        }
        for (int i=1; i<=M; i++) {
            for (int j=1; j<=N; j++) {
                a[i][j]=a[i-1][j]+a[i][j];
            }
        }
        tm=m;
        tn=n;
        if(tm>M){
            tm=M;
        }
        if(tn>N){
            tn=N;
        }
        for (int i=tm; i<=M; i++) {
            for (int j=tn; j<=N; j++) {
                sum=max(sum,a[i][j]-a[i-tm][j]-a[i][j-tn]+a[i-tm][j-tn]);
            }
        }
        swap(m, n);
        tm=m;
        tn=n;
        if(tm>M){
            tm=M;
        }
        if(tn>N){
            tn=N;
        }
        for (int i=tm; i<=M; i++) {
            for (int j=tn; j<=N; j++) {
                sum=max(sum,a[i][j]-a[i-tm][j]-a[i][j-tn]+a[i-tm][j-tn]);
            }
        }
        cout<<sum;
    }
    

    相关文章

      网友评论

          本文标题:黑格子覆盖

          本文链接:https://www.haomeiwen.com/subject/rzsovktx.html