Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

VMRESTO - Bé và bảng số

Hiện tại, bài tập này đã có trên online judge chính thức của VNOI, bạn có thể truy cập ở đây: https://oj.vnoi.info/problem/vmresto


Bé năm nay mới 7 tuổi, nhưng đã thể hiện niềm đam mê với Toán học. Bé rất thích chơi với những bảng số N*N - các hàng được đánh số từ 0 tới N-1 từ trên xuống dưới và các cột được đánh số từ 0 tới N-1 từ trái sang phải. Đặc biệt bé tỏ ra vô cùng hứng thú với những bảng số kỳ diệu - những bảng số có tổng mỗi hàng, tổng mỗi cột, tổng đường chéo chính và tổng đường chéo phụ bằng nhau.

Đường chéo chính gồm những ô nằm trên hàng i, cột i. Đường chéo phụ gồm những ô nằm trên hàng i, cột N-i-1.

Ví dụ. Xét bảng 3*3:

2 9 4

7 5 3

6 1 8

Bảng này có tổng của mỗi hàng là:

  • 2 + 9 + 4 = 15
  • 7 + 5 + 3 = 15
  • 6 + 1 + 8 = 15

Tổng mỗi cột là:

  • 2 + 7 + 6 = 15
  • 9 + 5 + 1 = 15
  • 4 + 3 + 8 = 15

Tổng đường chéo chính và đường chéo phụ là:

  • 2 + 5 + 8 = 15
  • 6 + 5 + 4 = 15

Vì tổng mỗi hàng, mỗi cột và 2 đường chéo đều bằng nhau và bằng 15, nên bảng số này được gọi là bảng số kỳ diệu.

Hôm nay, bé được cô tặng 1 bảng số kỳ diệu N*N. Bé thích lắm. Nhưng để thử thách bé, cô đã xóa tất cả các số trên đường chéo từ góc trên trái xuống góc phải dưới (đường chéo chính). Bạn có thể giúp bé khôi phục lại bảng không?

Input

Dòng đầu: Chứa số nguyên dương N.

N dòng tiếp, mỗi dòng chứa đúng N số nguyên thể hiện bảng. Trong đó, số ở hàng i, cột i bằng 0 (thể hiện số đã bị xóa).

Output

Gồm N dòng, mỗi dòng chứa đúng N số nguyên thể hiện bảng ban đầu.

Giới hạn

  • Trong tất cả các test, ta có 1 < N <= 100.
  • Các số còn lại trong input có trị tuyệt đối không quá 1012.
  • Trong 20% test (tương ứng với 20% số điểm), N là số chẵn.
  • Trong 40% test (tương ứng với 40% số điểm), các số trong bảng ban đầu có trị tuyệt đối không quá 2000.
  • Trong quá trình thi, bài của bạn chỉ được chấm với test ví dụ, và nếu bạn ra kết quả đúng, điểm sẽ được hiển thị là 100.

Example

Input:
3
0 9 4
7 0 3
6 1 0
Output:
2 9 4
7 5 3
6 1 8

Giải thích

Test ví dụ đã được giải thích trên đề bài.


Được gửi lên bởi:VOJ Team
Ngày:2015-08-04
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU JS-MONKEY PERL6 PYPY RUST SED
Nguồn bài:VM15 - RR

hide comments
2019-11-14 13:16:18
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
long int a[200][200], b[200], tong = 0;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
{
cin >> a[i][j];
tong = tong + a[i][j];
b[i] = b[i] + a[i][j];
}
tong = tong / (n - 1);
for (int i = 1; i <= n; i++)
{
a[i][i] = tong - b[i];
for (int j = 1; j <= n; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
}
2015-08-22 18:36:45 Bùi Minh Tuấn
cẩn thận 10^12=long long (C++)
2015-08-09 16:02:41 Prismatic
mất AC vì longint @@
2015-08-09 05:26:04 The Flash
tính tổng mảng input chia n-1 là ra tổng trên từng hàng và cột , rồi điền bài này chỉ sợ các phần tử mà lớn hơn nữa thì bị tràn mảng thôi
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.