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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

幻方修复

發布時間:2023/12/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 幻方修复 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

幻方修復

問題描述

幻方矩陣(Magic Square)是一個由1-NN,總計NN矩陣,該矩陣滿足每行、列和對角線上的數字和都相等。老師在上課的時候講了幻方德概念與例子,好學的小強將其抄寫到了小本本,但是不小心抄錯一個數字,請找出抄錯的數字并將其改正。

輸入描述:

第一行輸入一個整數N,代表待檢驗幻方德階數(3<=N<50) 接下來的N行,每行N個整數,空格隔開(0<=每個整數<=N*N)

輸出描述:

輸出空格隔開的三個整數,分別是:出錯行號、出錯列號、應填入的數字(末尾無空格)

示例:

輸入 3 8 1 6 3 5 7 4 0 2 輸出 3 2 9

解題思路

本題關鍵是理解幻方矩陣的概念,代碼如下:

public string MagicSquare(int N, int[][] squares) {int sum = 0;int Error_r = 0, Error_c = 0;int change_N = 0;int label = 0;for(int i = 0; i < N; i++){sum += squares[i][i];}for(int i = 0; i < N; i++){int sum_r = 0;int sum_c = 0;for(int j = 0; j < N; j++){if(label & 1 == 0)sum_r += squares[i][j];if(label & 2 == 0)sum_c += squares[j][i];}if(sum_r != sum && (label & 1 == 0)){Error_r = i;label |= 1;}if(sum_c != sum && (label & 2 == 0)){Error_c = i;label |= 2;}if(label == 3){change_N = sum - sum_c + squares[Error_r][Error_c];break;}}return string.Format("{0} {1} {2}", Error_r, Error_c, change_N); }

總結

以上是生活随笔為你收集整理的幻方修复的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。