Bài 2. Giải mật thư (HSG 9 Quảng Trị 2021-2022)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: CAU2.INP Output: CAU2.OUT

Trong một trò chơi Teambuilding, nhóm của bạn nhận được một bức mật thư, đó là một bảng số có kích thước \(M \times N\), trên mỗi ô của bảng số chứa một số nguyên. Cùng với bức mật thư đó bạn cũng nhận được một nét vẽ hình xoắn ốc theo chiều kim đồng hồ. Bằng phán đoán của mình, bạn cùng nhóm của mình biết rằng để đọc được mật thư đó thì phải sắp xếp lại các ô số trong đó theo thứ tự tăng dần và theo chiều hình xoắn ốc như trong hình vẽ. Nhiệm vụ của bạn là lập trình thực hiện giải bức mật thư để giúp cả nhóm giành chiến thắng.

Input

  • Dòng 1: Chứa hai số nguyên dương \(M\)\(N\) (\(M, N \le 1000\)).
  • Trong \(M\) dòng tiếp theo, mỗi dòng chứa \(N\) số nguyên dương không lớn hơn \(1000\).

Output

  • Gồm \(M\) dòng, trên mỗi dòng chứa \(N\) số nguyên thể hiện bảng số kết quả giải bức mật thư (các số liền nhau trên cùng dòng được đặt cách nhau một dấu cách).

Example

Test 1

Input
4 5
2 5 1 7 9
1 12 2 5 6
0 3 3 1 8
4 1 1 4 2 3
Output
0 1 1 1 2
5 6 7 8 2
5 12 11 9 2
4 4 3 3 3
Note

Hình vẽ minh họa quy luật xoắn ốc theo chiều kim đồng hồ:

Scoring

  • \(30\%\) số test tương ứng với \(M, N \le 10\).
  • \(40\%\) số test tương ứng với \(M, N \le 100\).
  • \(30\%\) số test tương ứng với \(M, N \le 1000\).

Bình luận (1)

Mới nhất
Tải bình luận...