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.|

VMSQ - Bảng số

Đề bài

Cho một bảng vuông kích thước N x N (0 < N ≤ 50). Bảng này có tính chất đặc biệt như sau:

  • Mỗi ô của bảng chứa một số nguyên dương không vượt quá N.
  • Trên một hàng hoặc một cột của bảng không chứa hai số bằng nhau.

Ban đầu, một số ô của bảng đã được điền sẵn. Nhiệm vụ của bạn là điền thêm các số vào các ô chưa được điền sao cho tính chất của bảng vẫn được bảo tồn. Bạn có quyền không điền số vào một số ô trống nếu cảm thấy điều đó là không cần thiết.

Cách tính điểm

  • Với mỗi test, nếu cách điền mà bạn đưa ra không thỏa mãn yêu cầu đề bài (có hai số giống nhau trên một hàng hoặc một cột, giá trị đã được điền sẵn bị thay đổi, giá trị bạn điền thêm không nằm trong khoảng [1, N]) bạn được 0 điểm cho test đó.
  • Nếu cách điền của bạn thỏa mãn yêu cầu đề bài:
    • Gọi Sumdist(i) là tổng khoảng cách Manhattan giữa các cặp ô có giá trị bằng i. Khoảng cách Manhattan giữa 2 ô (i1,j1) và (i2, j2) được định nghĩa là |i1 - i2| + |j1 - j2|.
    • Đặt S = tổng( Sumdist(i) ) (với i = 1..N). Gọi E là số ô chưa được điền ở trạng thái ban đầu của bảng, C là số ô mà bạn điền thêm được. Với mỗi test, điểm của bạn được cho theo công thức: 100 * (C/E)6 * (S/N4)3;
    • Điểm tạm thời của chương trình của bạn (TPx) bằng tổng điểm tất cả các test. Điểm này chỉ có ý nghĩa là cho biết độ tốt của chương trình bạn;
    • Điểm chính thức của bạn (OPx) được tính bằng công thức: OPx = TPx * 100 / TPmax , với TPmax là điểm tạm thời cao nhất của các thí sinh.
  • Trong thời gian diễn ra vòng thi, bài của bạn sẽ được chấm với 40% test của bài, và bạn sẽ được biết kết quả của bài làm của mình cũng như bài làm của các thí sinh khác. Sau khi vòng thi kết thúc, bài của bạn sẽ được chấm với bộ test hoàn chỉnh. 

Input

Dòng đầu ghi số nguyên N - kích thước bảng.

Trong N dòng tiếp theo, dòng thứ i gồm N số nguyên mô tả trạng thái ban đầu của bảng: số nguyên thứ j bằng số đã được điền ở ô (i,j), hoặc bằng -1 nếu ô đó chưa được điền. Dữ liệu vào đảm bảo những số được điền sẵn không vi phạm tính chất của bảng.

Output

Bạn cần in ra N dòng, mỗi dòng gồm N số nguyên mô tả trạng thái của bảng sau khi bạn đã điền thêm các số.

Example

Input:
5
   -1   -1   -1    2   -1
    4    5    2    1    3
    3    4   -1    5    2
   -1   -1   -1   -1   -1
    1   -1   -1   -1   -1

Output 1:
    5    1    3    2    4
    4    5    2    1    3
    3    4    1    5    2
    2   -1    5    3    1
    1    3   -1    4    5

Với output này, bạn được 0.798040 điểm

Output 2:
    5    3    4    2    1
    4    5    2    1    3
    3    4    1    5    2
    2    1    3    4    5
    1    2    5    3    4
Với output này, bạn được 3.276800 điểm

Chú ý: Trong vòng thi này, thời gian làm bài đối với riêng bài này là 48 tiếng, bắt đầu từ 7h tối ngày 16/06 đến 7h tối ngày 18/06. Sau 24h đầu tiên của vòng thi, bạn không được submit các bài khác, nhưng vẫn được submit bài này.


Được gửi lên bởi:VOJ Team
Ngày:2012-06-06
Thời gian chạy:0.800s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:ASM32-GCC MAWK BC C-CLANG C CPP CPP14-CLANG CPP14 COBOL COFFEE D-DMD D-CLANG DART ELIXIR FANTOM FORTH GRV JS-MONKEY KTLN NIM NODEJS OBJC OBJC-CLANG OCT PAS-GPC PAS-FPC PICO PROLOG PY_NBC R RACKET CHICKEN SQLITE SWIFT UNLAMBDA VB.NET
Nguồn bài:Nguyễn Thành Trung

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.