题意:矩阵只包含0,1两种数字,给你一个矩阵A,另一个矩阵B,每一次可以从A中选出一个子矩阵,点击一次使得这个子矩阵的四个角的数字变成与原来相反的数,0变1,1变0。问你可不可以经过有限次的变换把矩阵A变成矩阵B。

思路:可以重新定义一个矩阵,矩阵A,B某位置元素相同,则记为0,不同记为1.则现在你的工作就是把这个新矩阵中数字为1的位置变为0.而点击一片大的区域使其四个角的数字变化,等价于直接点击四个角的数字。每个数字为1的数字都当点击一次,因为点击两次相当于没有变。所以要使得所有为1数字都变为0,只需要点击一次,就可。如果把所有数字为1的位置点击一次后,矩阵当中还有不为0的数字则,则这些多出来的1是点击原来的1新生成的,如果在去点击这些为1的数字那么原来从1变为0的数字又会全部变成1.这样就永远也不可能把所有为1的数字变成0了,陷入了一个无限循环的过程中。所以我们只需要检测点击一次过后,矩阵当中还有没有为1的数字,如果有则输出NO,反之输出YES.

下面上代码

#include<bits/stdc++.h>
using namespace std;
int main(void){
int n,m;
scanf("%d%d",&n,&m);
int a[n][m],b[n][m],v[n][m];
for(int i=;i<n;i++)
for(int j=;j<m;j++)
scanf("%d",&a[i][j]);
for(int i=;i<n;i++)
for(int j=;j<m;j++){
scanf("%d",&b[i][j]);
v[i][j]=((a[i][j]!=b[i][j])?:);
}
for(int i=;i<n-;i++)
for(int j=;j<m-;j++){
if(v[i][j]){
v[i][j]=v[i][j]^;
v[i+][j]=v[i+][j]^;
v[i][j+]=v[i][j+]^;
v[i+][j+]=v[i+][j+]^;
}
}
int ok=;
for(int i=;i<n;i++)
for(int j=;j<m;j++)
if(v[i][j]==) ok=;
ok?printf("Yes"):printf("No");
return ;
}

cf C题的更多相关文章

  1. 做了一道cf水题

    被一道cf水题卡了半天的时间,主要原因时自己不熟悉c++stl库的函数,本来一个可以用库解决的问题,我用c语言模拟了那个函数半天,结果还超时了. 题意大概就是,给定n个数,查询k次,每次查询过后,输出 ...

  2. B. Lost Number【CF交互题 暴力】

    B. Lost Number[CF交互题 暴力] This is an interactive problem. Remember to flush your output while communi ...

  3. 一道cf水题再加两道紫薯题的感悟

    . 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整 ...

  4. CF dp 题(1500-2000难度)

    前言 从后往前刷 update 新增 \(\text{\color{red}{Mark}}\) 标记功能,有一定难度的题标记为 \(\text{\color{red}{红}}\) 色. 题单 (刷过的 ...

  5. 某5道CF水题

    1.PolandBall and Hypothesis 题面在这里! 大意就是让你找一个m使得n*m+1是一个合数. 首先对于1和2可以特判,是1输出3,是2输出4. 然后对于其他所有的n,我们都可以 ...

  6. 【cf补题记录】Codeforces Round #608 (Div. 2)

    比赛传送门 再次改下写博客的格式,以锻炼自己码字能力 A. Suits 题意:有四种材料,第一套西装需要 \(a\).\(d\) 各一件,卖 \(e\) 块:第二套西装需要 \(b\).\(c\).\ ...

  7. 【cf补题记录】Codeforces Round #607 (Div. 2)

    比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.c ...

  8. 第9周cf刷题(dp)

    Problems(1300-1600) an ac a day keeps the doctor away Gas Pipeline (1500) 2019.10.28 题意: 管道工人需要在一段凹凸 ...

  9. The 2019 Asia Nanchang First Round Online Programming Contest C(cf原题,线段树维护矩阵)

    题:https://nanti.jisuanke.com/t/41350 分析:先将字符串转置过来 状态转移,因为只有5个状态,所以 i 状态到 j 状态的最小代价就枚举[i][k]->[k][ ...

  10. [CF套题] CF-1163

    CF-1163 传送门 # Penalty A B1 B2 C1 C2 D E F 3 (483) 464 +0 0:06 +1 01:13 +3 01:12 + 01:57 + 01:56 A 第一 ...

随机推荐

  1. VS2015调试ArcMap Add-in插件提示尝试运行项目时出错,无法启动程序“路径\arcmap.exe”

    如图所示的错误: 打开VS2015→工具→选项→常规→如图标记的两项打钩: 参考: https://gis.stackovernet.com/cn/q/40845 http://www.voidcn. ...

  2. Flask(python)异步(ajax)返回json格式数据

    主要讨论两个问题,第一个是关于json.dumps 与jsonify区别,第二个是几种异步的区别(见jQuery中的$.getJSON.$.ajax.$.get.$.post的区别). json.du ...

  3. BPDU报文(传统STP)

    BPDU字段包含的信息: Protocol ID 协议ID Version STP版本(三种) STP(802.1D)传统生成树 值为0 RSTP(.1W)快速生成树 值为2 MSTP(.1S)多生成 ...

  4. div 拖拽

    html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  5. charles-Andriod 手机手机抓包乱码

    然后重启进行进行抓包

  6. Response内置对象

    request内置对象:主要用来处理用户的请求 response内置对象:处理对用户的响应(在调用service方法时容器会传递过来) response重要方法: public void addCoo ...

  7. Linux系统下的网络配置

    一.修改配置文件,重启后设置不丢失 [Red Hat Linux/CentOS] 使用ifconfig查看使用的网口: [root@localhost /]# ifconfig 修改对应网口配置文件: ...

  8. C++生成GUID

    #include <objbase.h> #include <stdio.h> //--生成GUID const char* newGUID() { ] = {}; GUID ...

  9. vue国际化

    插件:vue-i18n main.js引入i18n.js:+2行 新建文件(i18n.js),引入VueI18n.locale.语言包 新建语言包,包括index/zh/en(名字随意,引用正确就好) ...

  10. lock 单例模式

    单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等 网站的计数器,一般也是采用单例模式实现,否则难以同步 单例模式要素 ...