Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
VMRESTO - Bé và bảng số |
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 |