Chỗ ngồi trong nghị viện

Đề bài

Mô tả

n nghị sĩ được đánh số từ 1 đến n. Các nghị sĩ mang số lẻ thuộc đảng Dân chủ, các nghị sĩ mang số chẵn thuộc đảng Cộng hòa.

Hội trường là một bảng hình chữ nhật gồm a hàng, mỗi hàng có b ghế. Hai ghế được coi là kề nhau nếu chúng chung một cạnh (tức là ở cùng hàng và cạnh nhau, hoặc ở cùng cột và cạnh nhau).

Nếu hai nghị sĩ cùng đảng ngồi ở hai ghế kề nhau thì họ sẽ mải bàn chuyện nội bộ. Hãy sắp xếp chỗ ngồi cho toàn bộ n nghị sĩ sao cho không có hai nghị sĩ cùng đảng nào ngồi ở hai ghế kề nhau. Mỗi nghị sĩ ngồi một ghế, mỗi ghế có nhiều nhất một nghị sĩ, và có thể có ghế bỏ trống.

Dữ liệu vào

Một dòng chứa ba số nguyên n, a, b: số nghị sĩ, số hàng và số ghế mỗi hàng.

Dữ liệu ra

Nếu không tồn tại cách sắp xếp hợp lệ, in ra 1.

Ngược lại, in ra a dòng, mỗi dòng gồm b số nguyên. Số thứ j trên dòng thứ i là chỉ số của nghị sĩ ngồi ở ghế đó, hoặc 0 nếu ghế bỏ trống. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n10000
  • 1a,b100

Ví dụ

Input Output Giải thích
3 2 2 1 2
0 3
Nghị sĩ 1 và 3 (Dân chủ) không kề nhau; 2 (Cộng hòa) không kề đảng viên cùng đảng. Nhiều đáp án khác cũng hợp lệ.
10 2 2 -1 Chỉ có 4 ghế nhưng cần 10 nghị sĩ, không thể xếp hết.
8 4 3 1 2 3
4 5 6
7 8 0
0 0 0
8 nghị sĩ xếp theo kiểu bàn cờ nên hai ghế kề nhau luôn khác tính chẵn lẻ chỉ số, tức khác đảng.

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0