试题描述给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。 "改变矩阵元素"的操作定义为0变成1或者1变成0。输入格式输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。输出格式如果矩阵符合条件,则输出OK;如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。如果不符合以上两条,输出Corrupt。样例输入
样例输入1
4
1 0 1 0
0 0 0 0
1 1 1 1
0 1 0 1样例输入2
4
1 0 1 0
0 0 1 0
1 1 1 1
0 1 0 1样例输入3
4
1 0 1 0
0 1 1 0
1 1 1 1
0 1 0 1样例输出
样例输出1
OK样例输出2
2 3样例输出3
Corrupt其它说明

  

二维数组//做法;先把每一列每一行遍历一次,同时记录每一行每一列奇数行和列的个数,然后(重要的来了)如果奇数的(行和列)都==0,则输出OK,如果行列都==1,则才输出b[0]和c[0]的值,如果不满足则输出corrupt。因为题目要求的是只能修改一次!

  

#include<stdio.h>
#include<string.h>
int main()
{int a[101][101];int b[100],c[100];int n;int i,j,s1,s2;while(~scanf("%d",&n)){b[0]=0;c[0]=0;for(i=1,s1=0,s2=0;i<=n;i++){for(j=1;j<=n;j++){scanf("%d",&a[i][j]);if(a[i][j]==1){b[i]++;//记录第i行的1的个数;}}}for(j=1;j<=n;j++){for(i=1;i<=n;i++){if(a[i][j]==1){c[j]++;//记录第j列的1的个数;}}}for(i=1;i<=n;i++){if(b[i]%2!=0)//判断第i行的1的个数是否为奇数;{s1++;b[0]=i;//记录有几个奇数行;下面对于列的判断同理;}if(c[i]%2!=0){s2++;c[0]=i;}}if(s1==0&&s2==0)printf("OK\n");else if(s1==1&&s2==1){printf("%d %d\n",b[0],c[0]);}elseprintf("Corrupt\n");memset(b,0,sizeof(b));memset(c,0,sizeof(c));}return 0;
}

  

转载于:https://www.cnblogs.com/Disyushen666/p/7944794.html

#161: 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件...相关推荐

  1. 4*4矩阵方格棋盘中,只能向方格中填入0或1,要使得棋盘的每行和没列的值的总和都是偶数,共有多少种可能性?

    转自知乎:http://www.zhihu.com/question/20224638 4*4矩阵方格棋盘中,只能向方格中填入0或1,要使得棋盘的每行和没列的值的总和都是偶数,共有多少种可能性? 考虑 ...

  2. CCF NOI1048 检测矩阵

    问题链接:CCF NOI1048 检测矩阵. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符 ...

  3. Java黑皮书课后题第8章:***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵。程序提示用户输入矩阵的行数。然后显示最大的子方阵的第一个元素、行数

    ***8.35(最大块)给定一个元素为0或者1的方阵,编写程序,找到一个元素都为1的最大的子方阵.程序提示用户输入矩阵的行数.然后显示最大的子方阵的第一个元素.行数 题目 题目描述与运行示例 破题 代 ...

  4. Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了

    *8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1.让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了 题目 题目描述与运行示例 破题 代码 题目 题 ...

  5. 给定一个只由 0、1、、|和^五种字符组成的字符串express,再给定一个布尔值 desired。返回express能有多少种组合方式,可以达到desired的结果。

    问题描述: 给定一个只由 0(假).1(真).&(逻辑与).|(逻辑或)和^(异或)五种字符组成的字符串express,再给定一个布尔值 desired.返回express能有多少种组合方式, ...

  6. 剑指offer:给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,..,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]

    给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1]. 不能使用除 ...

  7. Java黑皮书课后题第8章:*8.25(马尔可夫矩阵)一个n*n的矩阵,如果每个元素都是正数,并且每列的元素的和为1,则成为正马尔可夫矩阵。编写下面的方法来检测矩阵是否是马尔可夫矩阵

    *8.25(马尔可夫矩阵)一个n*n的矩阵,如果每个元素都是正数,并且每列的元素的和为1,则成为正马尔可夫矩阵.编写下面的方法来检测矩阵是否是马尔可夫矩阵 题目 题目描述与运行示例 破题 代码 题目 ...

  8. 无高氯酸盐 羟脯氨酸检测试剂盒的储存条件和试剂制备

    羟脯氨酸((2S,4R)-4-羟脯氨酸,Hyp)是由脯氨酰-4-羟化酶形成的非蛋白源性氨基酸,其催化蛋白质合成后多肽脯氨酸残基的翻译后修饰.在动物体内发现羟脯氨酸几乎全部由胶原蛋白组成,其中含有约12 ...

  9. 【java/算法】在3男6女中选5人参加活动,要求男女都有。则不同的选取方式有几种?并列出符合条件的名单

    [数学解法] 9人选5人是C95: 如果5人中全选女孩就不合条件,所以C65是要排除在外的: 总数Sum=9*8*7*6*5/5/4/3/2/1-6*5*4*3*2/5/4/3/2/1=126-6=1 ...

最新文章

  1. 核显也能玩游戏,OS X Yosemite优化指南
  2. 关于Django将数据映射到Html中的操作
  3. java 内存排序_详细解析Java内存,处理器重排序,编译器重排序以及它对线程的影响...
  4. WP8开发札记(一)WP8应用生命周期管理
  5. vue和java bean_Java:JavaBean和BeanUtils
  6. 锦官城思享会-成都创业与商业CXO闭门会圆满举办
  7. spring整合中application.xml配置
  8. Python数据分析、挖掘常用工具
  9. php检测http状态码,分享一段php判断url http状态码的代码
  10. Qt与VS2008的便捷安装(非编译源码方式),并解决错误“Unable to find a Qt build”
  11. Java常用工具类总结
  12. linux安装i3wm桌面环境,ArchLinux基本安装后安装i3wm基本环境
  13. Proe/Creo产品结构设计概述
  14. FYI | Neuro Workshop (Virtual)-Connectomics
  15. PIE框架基本接口使用方法
  16. python lncrna_使用CNCI分析lncRNA
  17. 集成声卡和独立声卡哪个的性能好些
  18. springboot从ftp读取图片且根据不同的content_type在前端直接展示
  19. mac壁纸文件夹没有怎么办?mac动态壁纸怎么设置
  20. Vue路由传参(params 与 query)

热门文章

  1. Raspberry Pi 3B 安装NoneBot2
  2. php链接Access数据库代码,PHP连接Access数据库代码
  3. python py生成及调用pyc文件
  4. elastic-job详解(一):数据分片
  5. Unity3D笔记 愤怒的小鸟六 弹弓发射小鸟
  6. ObservableCollection和List的区别总结
  7. Ubuntu 下安装 nfs
  8. 编程之美----不要被阶乘吓到
  9. Opencv step by step - 加载视频
  10. Oracle函数的定义