OpenJudge 1.8编程基础之多维数组

这篇具有很好参考价值的文章主要介绍了OpenJudge 1.8编程基础之多维数组。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

04:错误探测

1.描述

给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。
你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件。
"改变矩阵元素"的操作定义为0变成1或者1变成0。

2.输入

输入n + 1行,第1行为矩阵的大小n(0 < n < 100),以下n行为矩阵的每一行的元素,元素之间以一个空格分开。

3.输出

如果矩阵符合条件,则输出OK;
如果矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。
如果不符合以上两条,输出Corrupt。

4.样例输入

样例输入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

5.样例输出

样例输出1
OK

样例输出2
2 3

样例输出3
Corrupt

6.题意

判断矩阵是否符合条件

7.思路

判断矩阵的每一行和每一列的1的数量是否都是偶数。文章来源地址https://www.toymoban.com/news/detail-408973.html

8代码实现

#include<bits/stdc++.h>
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;//矩阵符合条件,则输出OK
   else if(rows==1&&columns==1)
        cout<<r<<" "<<c<<endl;//矩阵仅改变一个矩阵元素就能符合条件,则输出需要改变的元素所在的行号和列号,以一个空格分开。
   else{
	 cout<<"Corrupt"<<endl;//不符合以上两条,输出Corrupt。
	}
	return 0;
}

到了这里,关于OpenJudge 1.8编程基础之多维数组的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Verilog语法013】verilog多维数组(多维矩阵)的写法

    有两种表示方法:一种是verilog语法的多维数组,另一种是system verilog语法的多维数组。 reg [A1:A0] a [B1:B0] [C1:C0] [D1:D0] ; 引用顺序是:a[B][C][D][A], 定义的a 的左边只有位宽,一对方括号[],a的右边可以扩展维数,多对方括号[],变化速度:BCDA packed维度: packed数组是一种将1个向量

    2024年02月08日
    浏览(41)
  • C++ 获取数组大小、多维数组操作详解

    要获取数组的大小,可以使用 sizeof() 运算符: 示例 结果: 为什么结果显示为 20 而不是 5,当数组包含 5 个元素时? 这是因为 sizeof() 运算符返回类型的大小(以字节为单位)。 要找出数组有多少个元素,必须将数组的大小除以它包含的数据类型的大小: 示例 结果: 然而,

    2024年04月10日
    浏览(44)
  • 【C语言】数组的声明和使用(一维数组、多维数组、字符数组)

    C语言支持数组数据结构,是用来存储固定大小的相同类型元素的顺序集合,往往被认为是一系列相同类型的变量。 特点: 有序数据的集合。 数组内所有元素类型相同。 所有的数组都是由连续的内存位置组成,最低的地址对应第一个元素,最高的地址对应最后一个元素。 数

    2024年02月16日
    浏览(35)
  • C++——数组、多维数组、简单排序、模板类vector

    个人简介 👀 个人主页: 前端杂货铺 🙋‍♂️ 学习方向: 主攻前端方向,正逐渐往全干发展 📃 个人状态: 研发工程师,现效力于中国工业软件事业 🚀 人生格言: 积跬步至千里,积小流成江海 🥇 推荐学习:🍍前端面试宝典 🍉Vue2 🍋Vue3 🍓Vue2/3项目实战 🥝Node.js🍒

    2024年01月22日
    浏览(46)
  • js中的多维数组转成一维数组

       

    2024年02月11日
    浏览(43)
  • 数据结构学习笔记——多维数组、矩阵

    数组是由n(n≥1)个 相同数据类型 的数据元素组成的有限序列,在定义数组时,会为数组分配一个固定大小的内存空间,用来存储元素,数组在被定义后,其维度不可以被改变。 数组在确定其维度和维界后,元素的个数是固定的,所以不能进行插入和删除运算。数组中最常

    2024年02月03日
    浏览(49)
  • C 语言数组教程:定义、访问、修改、循环遍历及多维数组解析

    数组用于将多个值存储在单个变量中,而不是为每个值声明单独的变量。 要创建数组,请定义数据类型(例如 int )并指定数组名称,后面跟着方括号 [] 。 要将值插入其中,请使用逗号分隔的列表,并在花括号内使用: 现在我们已经创建了一个变量,其中包含一个包含四个

    2024年02月03日
    浏览(52)
  • C++中使用嵌套循环遍历多维数组

    一维数组:数组元素可以看做是一行数据。 二维数组:更像是一个表格,既有行数据又有列数据。 C++没有提供二维数组类型,但用户可以创建每个元素本身都是数组的数组。例如,假设要存储 5 个城市在 4 年间的最高气温,可以这样声明数组: 该声明意味着 maxtemps 是一个包

    2024年02月07日
    浏览(40)
  • Java break、continue 详解与数组深入解析:单维数组和多维数组详细教程

    Java Break: break 语句用于跳出循环或 switch 语句。 在循环中使用 break 语句可以立即终止循环,并继续执行循环后面的代码。 在 switch 语句中使用 break 语句可以跳出当前 case,并继续执行下一个 case。 示例: Java Continue: continue 语句用于跳过当前循环的剩余部分,并继续执行循环的

    2024年02月19日
    浏览(43)
  • 27从零开始学Java之详解复杂的二维数组与多维数组

    作者 :孙玉昌,昵称【 一一哥 】,另外【 壹壹哥 】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、阿里云专家博主、掘金优质作者 在前几篇文章中, 壹哥 给大家介绍了Java里的一维数组,涉及到了数组的创建初始化、数组遍历、拷贝、扩容、排序、查找等核心

    2024年02月02日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包