RSPRIAL - Ma trận xoắn ốc 2

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Bài toán "Ma trận xoắn ốc" là một bài toán lập trình cổ điển mà bất cứ lập trình viên nào cũng nên làm qua khi học về vòng lặp.

Cụ thể, bài toán như sau: cho một ma trận hai chiều kích thước m x n (m hàng, n cột), và yêu cầu bạn in ra các phần tử của ma trận đó theo chiều vòng xoắn ốc. Vòng xoắn ốc bắt đầu ở góc trên cùng bên trái của ma trận và đi về phía trung tâm của ma trận này theo chiều kim đồng hồ.

Ví dụ, với ma trận kích thước ~4 ∗ 4~ phía trên, đường đi theo chiều xoắn ốc của ma trận này là:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16.

Input

  • Dòng đầu tiên chứa 2 số nguyên dương ~m, n~ lần lượt là số hàng và số cột của ma trận ~(1 ≤ m, n ≤ 1000)~.
  • ~m~ dòng tiếp theo, mỗi dòng chứa ~n~ số nguyên dương mô tả ma trận xoắn ốc. Các phần tử của ma trận là số nguyên dương và không vượt quá 9 chữ số.

Output

  • Đưa ra kết quả trên 1 dòng duy nhất gồm ~m ∗ n~ số nguyên đại diện cho đường đi trên ma trận xoắn ốc. Các phần tử trên đường đi cách nhau bởi một dấu cách.

Sample

Input #1
4 4
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
Output #1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Problem source: Kc97ble - Free Contest


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.