编译失败
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复9
  • 已保存回复9
  • 发布时间2024/10/11 20:09
  • 上次更新2024/10/13 15:26:24
查看原帖
编译失败
1064990
封禁用户楼主2024/10/11 20:09

求幻方的

#include <iostream>
#include <vector>
 using namespace std;
bool M(vector<vector<int>>square,int n) {
    int sum = n*(n+1)/2;
    for (int i = 0; i < n; ++i) {
        int rowSum = 0;
        int colSum = 0;
        int diag1Sum = 0;
        int diag2Sum = 0;
        for (int j = 0; j < n; ++j) {
            rowSum += square[i][j];
            colSum += square[j][i];
            if (i == j) {
                diag1Sum += square[i][j];
            }
            if (i + j == n - 1) {
                diag2Sum += square[i][j];
            }
        }
        if (rowSum != sum || colSum != sum || diag1Sum != sum || diag2Sum != sum) {
            return false;
        }
    }
    return true;
}
 int a[105][105];
int main() {
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	for(int j=1;j<=n;j++)cin>>a[i][j];
    }
    if (M(a,n)) {
        cout << "Yes" <<endl;
    } else {
        cout << "No" << endl;
    }
    return 0;
}

小猴编程(5525411785305547)

2024/10/11 20:09
加载中...