P2692 覆盖

技术文章 5个月前 完美者
1,530 0

标签:image   ++   注意   pre   ios   style   mem   ima   覆盖   

题目如下:

技术图片

 

 技术图片

 

 思路:

1.如果直接for循环肯定无法满分

2.先算出行的所有格子

再加上列的所有格子(注意列的格子不是全部加上,加上除了行没有覆盖的那个别的格子)

代码如下:

#include<cstdio> 
#include<iostream> 
#include<cstring>
using namespace std;
int n,m,b,g;

main(){
    cin>>n>>m>>b>>g;
    int r[n+1],c[m+1];
    int x,y,col=0,sum=0;
    memset(r,0,sizeof(r));
    memset(c,0,sizeof(c));
    while(b--){
        cin>>x>>y;
        for(int i=x-1;i<y;i++)
        {
            if(r[i]!=1){
            r[i]++;
            sum+=m;
            col++;    
            }
        }
    }
    
    while(g--){
        cin>>x>>y;
        for(int i=x-1;i<y;i++)
        {
            if(c[i]!=1){
            c[i]++;
            sum+=n-col;
            }
        }
    }
    cout<<sum<<endl;
    return 0;
}

 

P2692 覆盖

标签:image   ++   注意   pre   ios   style   mem   ima   覆盖   

原文地址:https://www.cnblogs.com/miao-xixixi/p/13939467.html

版权声明:完美者 发表于 2020-11-07 16:54:41。
转载请注明:P2692 覆盖 | 完美导航

暂无评论

暂无评论...