日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

用java写布尔矩阵奇偶性

發(fā)布時間:2023/12/16 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用java写布尔矩阵奇偶性 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

一個布爾矩陣有一種奇偶性,即該矩陣所有行和所有列的和都是偶數(shù)。下面這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。
現(xiàn)請你編寫一個程序,讀入這個矩陣并檢查它是否具有奇偶性。如果沒有,你的程序應當再檢查一下它是否可以通過修改一位(把0修改為1,把1修改為0)來使它具有奇偶性。如果不可能,這個矩陣就被認為是破壞了。

輸入

輸入包含多組測試數(shù)據(jù)。每組測試數(shù)據(jù)的第一行是一個整數(shù)n(1<=n<=100),代表該矩陣的大小。在接下來的行中,每行有n個整數(shù)。矩陣是由0或1構成的。n=0時,輸入結束。

輸出

對于每組輸入,如果這個矩陣具有奇偶性,則輸出“OK”。如果奇偶性能通過只修改該矩陣中的一位來建立,那么輸出“Change bit (i,j)”,這里i和j是被修改的這位的行號和列號。否則,輸出“Corrupt”。

樣例輸入

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

樣例輸出

OK Change bit (2,3) Corrupt

代碼:

import java.util.Scanner;
public class Matrix {

?? ?public static void main(String[] args) {
?? ??? ?Scanner in = new Scanner(System.in);
?? ??? ?int sum = 0,sum1=0;
?? ??? ?int s1=0,s2=0,x=0,y=0;
?? ??? ?int n = in.nextInt();
?? ??? ? int[][] arr = new int[n][n];
?? ??? ? int[] arr1 = new int[n];
?? ??? ? int[] arr2 = new int[n];
?? ?if (n>=1&&n<=100) {?? ?
?? ??? ? for(int i=0;i<arr.length;i++) {???????????????????????? //給二維數(shù)組賦值
?? ??? ??? ? for (int j = 0; j < arr.length; j++) {
?? ??? ??? ??? ?arr[i][j] =in.nextInt();?? ?
?? ??? ??? ???? sum=sum+arr[i][j];??????????????????????????? //累加行的總和
?? ??? ??? ?}
?? ??? ??? ?arr1[i]=sum;??????????????????????????????????? //行總和的數(shù)組
?? ??? ??? ?sum = 0;
?? ??? ? }
?? ??? ?
?? ??? ?
?? ??? ? for(int i=0;i<arr.length;i++) {
?? ??? ??? ? for (int j = 0; j < arr.length; j++) {
?? ??? ??? ??? ?sum1+=arr[j][i];?????????????????????? //累加列的總和
?? ??? ??? ?}
?? ??? ??? ? arr2[i]=sum1;?? ??? ??? ??? ??? ??? ??? ?//列的總和的數(shù)組
?? ??? ??? ? sum1 = 0;
?? ??? ? }
?? ??? ?
?? ??? ?
?? ??? ? for (int i = 0; i <arr1.length; i++) {
?? ??? ??? ?if (arr1[i]%2!=0) {
?? ??? ??? ??? ?s1++;
?? ??? ??? ??? ?x=i;???????????????????? //記錄橫坐標
?? ??? ??? ?}
?? ??? ??? ?if (arr2[i]%2!=0) {?? ??? ??? ?//是否加起來為奇數(shù)的
?? ??? ??? ??? ?s2++;
?? ??? ??? ??? ?y=i;?????????????? //記錄縱坐標
?? ??? ??? ?}
?? ??? ?}
?? ??? ?
?? ??? ? if(s1+s2==0) {
?? ??? ??? ? System.out.println("OK");
?? ??? ? }else if(s1==1&&s2==1){
?? ??? ??? ?System.out.println("Change bit ("+(x+1)+","+(y+1)+")");
?? ??? ?}else {
?? ??? ??? ?System.out.println("Corrupt");
?? ??? ?}
?? ?}? ????
?? ?}

}

提交題目時,錯誤了,懷疑是內(nèi)存跟時間超了,大神們有什么解決方法嗎,求帶

總結

以上是生活随笔為你收集整理的用java写布尔矩阵奇偶性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。