Editorial for VM 15 Bài 08 - Bé và bảng số


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

Lưu ý: Các code mẫu dưới đây chỉ mang tính tham khảo và có thể không AC được bài tập này

Code mẫu của ladpro98

#include <bits/stdc++.h>

const int N = 1111;

using namespace std;

int n;
long long sumRow[N], diff[N], a[N][N];

int main() {
    ios::sync_with_stdio(0); cin.tie(0);
#ifndef ONLINE_JUDGE
    freopen("VMRESTO.txt", "r", stdin);
#endif // ONLINE_JUDGE
    cin >> n;
    for (int i = 1; i <= n; ++i) for (int j = 1; j <= n; ++j) {
        cin >> a[i][j];
        sumRow[i] += a[i][j];
    }
    for (int i = 2; i <= n; ++i) diff[i] = sumRow[1] - sumRow[i];
    long long sumDiff = 0;
    for (int i = 2; i <= n; ++i) sumDiff += diff[i];
    long long temp = sumRow[1] - sumDiff;
    //assert(temp > 0); assert(temp % (n - 1) == 0);
    a[1][1] = temp / (n - 1);
    for (int i = 2; i <= n; ++i)
        a[i][i] = a[1][1] + diff[i];
    for (int i = 1; i <= n; ++i) for (int j = 1; j <= n; ++j)
        cout << a[i][j] << " \n"[j == n];
    return 0;
}

Comments

Please read the guidelines before commenting.


There are no comments at the moment.