04:错误探测
来源:互联网 发布:软件运营方案书 编辑:程序博客网 时间:2024/05/17 03:37
原题链接
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。
你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。
"改变矩阵元素"的操作定义为0变成1或者1变成0。- 输入
- 输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。
- 输出
- 如果矩阵符合条件,则输出OK;
如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。
如果不符合以上两条,输出Corrupt。 - 样例输入
样例输入141 0 1 00 0 0 01 1 1 10 1 0 1样例输入241 0 1 00 0 1 01 1 1 10 1 0 1样例输入341 0 1 00 1 1 01 1 1 10 1 0 1
- 样例输出
样例输出1OK样例输出22 3样例输出3Corrupt
源码
#include <iostream>using namespace std;int main(){ int a[100][100]={0}, n, i, j, r, c, rows=0, columns=0; cin >> n; for (i=1; i<=n; i++) for (j=1; j<=n; j++){ cin >> a[i][j]; a[0][j] = (a[0][j]+a[i][j])%2; a[i][0] = (a[i][0]+a[i][j])%2; } for (i=1; i<=n; i++){ if (a[i][0] > 0){ r = i; rows++; } } for (j=1; j<=n; j++){ if (a[0][j] > 0){ c = j; columns++; } } if (rows==0 && columns==0) cout << "OK" << endl; else if (rows==1 && columns==1) cout << r << " " << c << endl; else cout << "Corrupt" << endl; return 0;}
阅读全文
1 1
- 04:错误探测
- 错误探测
- 04:错误探测(1.8编程基础之多维数组)
- 基于错误CRC的防火墙探测技术
- RTT探测
- 端口探测
- 网络探测
- 网络探测
- arp3-探测
- 异常探测
- 内存探测
- 洞穴探测
- 哈希表线性探测&二次探测
- 嫦娥一号探测任务与探测设备
- 绕开注册表探测文件类型
- 文件类型探测程序
- 文件类型图标探测程序
- 文件类型探测程序
- string中获取所有数字
- Caffe 使用记录(三)finetune
- 归并排序,堆排序,基数排序,希尔排序,快速排序,交换排序,选择排序和插入排序的总结和比较
- THINKPHP 提供数据表联合查询的简单方法
- 心情很愉快
- 04:错误探测
- Android USB转串口编程
- 求1+2+3+...+n,不能利用乘除法,以及for,while,if,else;
- 如何定位JVM的问题
- iOS UIView、UIImageView旋转产生边界锯齿的完美解决方法
- .net Math.Round方法详解
- Attempt to invoke virtual method 'void android.support.v7.app.ActionBar.hide()' on a null object re
- 分布式 微服务 JAVA语言开发
- Spring之AOP奇葩报错:Null return value from advice does not match primitive return type for