1 条题解

  • 0
    @ 2025-8-24 22:47:07

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar qwerty12346
    这个家伙很懒,什么也没有留下(互关)

    搬运于2025-08-24 22:47:07,当前版本为作者最后更新于2023-05-20 15:41:38,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    题目传送门

    题意+思路

    题目就是让我们求在很多次修改过后,需要执行至少多少次修改操作,让矩阵内所有元素的值全部变为 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

    信息

    ID
    8572
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者