zoukankan      html  css  js  c++  java
  • Codeforces 1119C(思维)

    题面

    传送门

    分析

    这种题的重点是寻找不变量

    我们发现如果改变4个角,则每一行和每一列的xor和不会改变(1^0=0^1)

    所以只要算出异或和然后比较就可以

    代码

    #include<iostream>
    #include<cstdio>
    #define maxn 505
    using namespace std;
    int n,m;
    int a[maxn][maxn];
    int b[maxn][maxn];
    int ar[maxn],ac[maxn];
    int br[maxn],bc[maxn];
    void work(int cmd,int *row,int *col){
    	if(cmd==0){
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				row[i]=row[i]^a[i][j];
    				col[j]=col[j]^a[i][j]; 
    			} 
    		}
    	}else{
    		for(int i=1;i<=n;i++){
    			for(int j=1;j<=m;j++){
    				row[i]=row[i]^b[i][j];
    				col[j]=col[j]^b[i][j]; 
    			} 
    		}
    	}
    }
    int main(){
    	scanf("%d %d",&n,&m);
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			scanf("%d",&a[i][j]); 
    		} 
    	}
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			scanf("%d",&b[i][j]); 
    		} 
    	}
    	work(0,ar,ac);
    	work(1,br,bc); 
    	for(int i=1;i<=n;i++){
    		if(ar[i]!=br[i]){
    			printf("No
    ");
    			return 0;
    		}
    	}
    	for(int i=1;i<=m;i++){
    		if(ac[i]!=bc[i]){
    			printf("No
    ");
    			return 0;
    		}
    	}
    	printf("Yes
    "); 
    }
    
    
    
  • 相关阅读:
    CSS性能让JavaScript变慢?
    Cordova优缺点与环境部署
    nodeapi
    git常用命令
    常见状态码
    关于拉萨
    英语学习
    SQL 按表中的一个int值拆分成对应的个数的记录条数
    SQL分组编号
    C#四舍五入
  • 原文地址:https://www.cnblogs.com/birchtree/p/10663341.html
Copyright © 2011-2022 走看看