#include #include #include using namespace std; class Matrix { public: vector> a; int sum_row(int row) { vector r = this->a[row]; int sum = 0; for (int c = 0; c < r.size(); c++) { sum += r[c]; } return sum; } int sum_col(int col) { int sum = 0; for (int r = 0; r < this->a.size(); r++) { vector row = this->a[r]; sum += row[col]; } return sum; } int sum_main_diag() { int sum = 0; for (int i = 0; i < this->a.size(); i++) { sum += this->a[i][i]; } return sum; } int sum_alt_diag() { int sum = 0; for (int i = 0; i < this->a.size(); i++) { sum += this->a[this->a.size()-i-1][i]; } return sum; } Matrix &operator+=(const Matrix &rhs) { for (int row_index = 0; row_index < rhs.a.size(); row_index++) { for (int v = 0; v < rhs.a[0].size(); v++) { this->a[row_index][v] += rhs.a[row_index][v]; } } return *this; } friend Matrix operator+(Matrix a, const Matrix &b) { a += b; return a; } }; int main() { int size = 3; Matrix m; for (int i = 0; i < size; i++) { vector b; int num; for (int j = 0; j < size; j++) { cin >> num; b.push_back(num); } m.a.push_back(b); } int a,b,c,cost; c = m.a[1][1]; // cout << "c = " << c << endl; int A0 = c - m.a[0][2]; // cout << "A0 = " << A0 << endl; int A1 = m.a[2][0] - c; // cout << "A1 = " << A1 << endl; int R0 = m.sum_row(0), R1 = m.sum_row(2); if (A1 != A0) { if (R0 == 15) { a = A0; } else { a = A1; } cost = abs(A1 - A0); } else { a = A0; } int B0 = c - m.a[0][0], B1 = m.a[2][2] - c; if (B1 != B0) { if (R0 == 15) { b = B0; } else { b = B1; } cost = abs(B1 - B0); } else { b = B0; } //cout << "a = " << a << endl; //cout << "b = " << b << endl; //cout << "c = " << c << endl; cout << cost << endl; return 0; }