错误纠正(Error Correction)
来源:互联网 发布:js 仪表盘 编辑:程序博客网 时间:2024/05/07 06:38
原题链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1949
1.题目
一个布尔矩阵有一种奇偶性,即该矩阵所有行和所有列的和都是一个偶数。下面这个4*4的矩阵就是具有奇偶性:
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
它所有行的和是 2 , 0 , 4 和2.。 它的所有列的和是2,2, 2 ,2。
你的工作就是编写一个程序,读入这个矩阵并检查它是否具有奇偶性。如果没有,你的程序应当再检查一下它是否可以通过
修改一位(把0修改为1,或把1修改为0)来使它具有奇偶性。如果不可能,这个矩阵就被认为是破坏的(Corrupt);
2. 输入描述
输入包含多个测试案例。每个测试案例的第一行是一个整数n(n<100),代表该矩阵的大小。在接下来的n行中,每行有n个整数
矩阵是由0或1构成的。n是0时,表示输入的结束。
3.输出描述
对于输入文件中的每个矩阵,打印一行。如果这个矩阵具有奇偶性,那么打印“OK”。如果奇偶性能通过只修改矩阵中的一位
来建立,那么打印“Change bit (i , j)”,这里i和j是被修改的这位的行号和列号。否则打印“Corrupt”。
4.输入样例
4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1
0
package OnlineDesign;import java.util.Scanner;public class MistakeCorrect {public static void main(String[] args) {Scanner input = new Scanner(System.in);int n = input.nextInt();int num[][] = new int[n][n];int row_num[] = { 2, 0, 4, 2 };int row = 0; // 可修改的行int col = 0; // 可修改的列int m = 0, p = 0;int row_value = 0;// 每行的和int col_value = 0;// 每列的和int count_row = 0;// 行错误的次数int count_col = 0;// 列错误的次数for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++)num[i][j] = input.nextInt();}for (m = 0; m < n; m++) {row_value = 0;col_value = 0;for (p = 0; p < n; p++) {row_value += num[m][p];col_value += num[p][m];}if (row_value != row_num[m]) {row = m;count_row++;}if (col_value != 2) {col = m;count_col++;}}if (count_row == 1 && count_col == 1)System.out.println("Change bit(" + (row + 1) + "," + (col + 1)+ ")");else if (count_row == 0 && count_col == 0)System.out.println("Ok");elseSystem.out.println("Corrupt");}}
- 错误纠正(Error Correction)
- Error Correction
- Error Correction
- Error Correction
- Error Correction
- Error Correction
- xilinx serdes时钟纠正clock correction
- fjnu 1142 Error Correction
- zoj 1949 Error Correction
- zoj 1949 Error Correction
- ZOJ 1949Error Correction
- zoj 1949 Error Correction
- zoj1949-------------Error Correction
- ZOJ 1949 Error Correction
- zoj 1949.Error Correction
- zoj 1949 Error Correction
- ZOJ 1949 Error Correction
- POJ2260:Error Correction
- Win7 X32MyEclipse10.1破解
- 大话存储系列19——数据备份与恢复 下
- 计算机经典书籍
- 网站开发人员应该知道的61件事
- Hadoop中Mapper和Reducer是单独进程还是线程
- 错误纠正(Error Correction)
- Android常见错误解决
- c++多线程编程
- DB9接口说明
- hdu 1159 Common Subsequence
- Flex 与java通信的三种方式
- 学习笔记——JavaScript中的Array对象
- Android学习笔记---29_构建soap协议内容,发送xml数据和调用webservice,手机号码归属地查询器
- 对HashMap的两种遍历方法