1 条题解

  • 0
    @ 2026-9-23 23:07:17

    题目传送门

    题意+思路

    题目就是让我们求在很多次修改过后,需要执行至少多少次修改操作,让矩阵内所有元素的值全部变为 00。然后我们又发现奇数个翻转的位置每次操作只有 44 个,所以只用打暴力即可。

    代码

    如下:

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,q,x,y,z,k,ret,a[1005][1005],s[1005][1005];
    void w(int x,int y){
        if(x<1||y<1||x>n||y>m)return ;//判断是否出界
        ret-=s[x][y];
        s[x][y]^=1;
        ret+=s[x][y];
    }
    int main(){
        cin>>n>>m>>q;
        for(int i=1;i<=q;i++)
        {
    	cin>>x>>y>>z>>k;
    	w(x-1,y-1);
    	w(z,k);
    	w(x-1,k);				
    	w(z,y-1); 
    	cout<<ret<<endl;
        } 
        return 0;
    }
    
    • 1

    [POI 2020/2021 R1] Tablica binarna / 01 矩阵

    信息

    ID
    7533
    时间
    1000ms
    内存
    128MiB
    难度
    10
    标签
    递交数
    1
    已通过
    1
    上传者