拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

打卡信奥刷题(3588)用C++实现信奥题 P11543 [Code+#5] 我有矩阵,你有吗?

打卡信奥刷题(3588)用C++实现信奥题 P11543 [Code+#5] 我有矩阵,你有吗? P11543 [Code#5] 我有矩阵你有吗题目背景题目来源link。题目描述企鹅豆豆手里有两个01 0101矩阵A \mathbf{A}A和B \mathbf{B}B。他可以进行两种操作选择A \mathbf{A}A矩阵的一行然后把这一行的0 00变成1 11把1 11变成0 00。选择A \mathbf{A}A矩阵的一列然后把这一列的0 00变成1 11把1 11变成0 00。现在他想知道能不能把A \mathbf{A}A矩阵通过以上操作变成B \mathbf{B}B矩阵。保证A \mathbf{A}A矩阵和B \mathbf{B}B矩阵的大小一致。输入格式每个测试点只有一组数据。输入的第一行包含两个正整数n nn和m mm表示A \mathbf{A}A矩阵的行数。接下来n nn行每行m mm个由空格隔开的整数表示矩阵A \mathbf{A}A。保证矩阵中只有0 00或者1 11。接下来n nn行每行m mm个由空格隔开的整数表示矩阵B \mathbf{B}B。保证矩阵中只有0 00或者1 11。输出格式如果矩阵A \mathbf{A}A通过以上两种操作可以变成矩阵B \mathbf{B}B输出Koyi否则输出Budexing。输入输出样例 #1输入 #13 3 1 0 1 1 1 0 0 1 0 1 1 0 0 1 0 1 1 0输出 #1Koyi输入输出样例 #2输入 #26 6 0 0 1 0 0 1 1 0 1 1 0 1 1 0 1 0 0 0 0 1 1 0 1 0 1 0 1 0 0 1 1 1 1 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 1 1 0 0 0 1 1 1输出 #2Koyi说明/提示数据范围对于所有数据n ≤ 1000 , m ≤ 1000 n \le 1000,m \le 1000n≤1000,m≤1000。样例解释对于样例一依次对于第一行和第一列分别执行操作1 11和操作2 22即可。C实现#includebits/stdc.h#definelllonglongusingnamespacestd;intmain(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);intn,m;cinnm;vectorvectorintA(n,vectorint(m)),B(n,vectorint(m));for(autorow:A){for(autox:row){cinx;}}for(autorow:B){for(autox:row){cinx;}}vectorvectorintD(n,vectorint(m,0));for(inti0;in;i){for(intj0;jm;j){D[i][j]A[i][j]^B[i][j];}}for(intr00;r01;r0){vectorintc(m,0);for(intj0;jm;j){c[j]D[0][j]^r0;}boolok1;vectorintr(n,0);r[0]r0;for(inti1;in;i){r[i]D[i][0]^c[0];for(intj1;jm;j){if((D[i][j]^c[j])!r[i]){ok0;break;}}if(!ok)break;}if(ok){coutKoyi;return0;}}coutBudexing;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
返回列表