trang chủ / đề bài / planttree

Trồng cây

Đề bài

Mô tả

Một mảnh đất hình chữ nhật được chia thành lưới n hàng và m cột. Bạn cần trồng nm cây lên lưới, mỗi ô đúng một cây, sao cho chiều cao của chúng là một hoán vị của 1,2,…,nm (mỗi chiều cao xuất hiện đúng một lần).

Để khu rừng trông tự nhiên hơn, hai cây ở hai ô kề cạnh nhau (chung một cạnh) phải có chênh lệch chiều cao lớn hơn 1 về giá trị tuyệt đối.

Hãy lập một sơ đồ trồng cây thoả mãn điều kiện trên, hoặc chỉ ra rằng không tồn tại sơ đồ nào.

Dữ liệu vào

Một dòng duy nhất chứa hai số nguyên n và m: số hàng và số cột của mảnh đất.

Dữ liệu ra

Nếu không tồn tại sơ đồ thoả mãn, in ra −1.

Ngược lại, in ra n dòng, mỗi dòng gồm m số nguyên: chiều cao của cây được trồng ở ô tương ứng. Nếu có nhiều sơ đồ hợp lệ, in ra bất kỳ sơ đồ nào.

Ràng buộc

  • 1≤n,m≤100

Ví dụ

Input Output Giải thích
2 3 4 1 5
2 6 3
Mọi cặp ô kề cạnh đều lệch nhau ít nhất 2, chẳng hạn |4−1|=3 và |1−6|=5. Hai ô chứa 1 và 2 chỉ chạm nhau ở góc nên không bị tính là kề cạnh. Đáp án khác, ví dụ 3 6 2 / 5 1 4, cũng được chấp nhận.
2 1 -1 Lưới chỉ có hai ô và chúng kề cạnh nhau, nên hai chiều cao 1 và 2 buộc phải đứng cạnh nhau, chênh lệch đúng bằng 1.
3 3 1 6 2
7 3 8
4 9 5
Các chiều cao nhỏ 1..5 nằm trên các ô cùng màu bàn cờ, các chiều cao lớn 6..9 nằm trên các ô màu còn lại.

Bình luận

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

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0