trang chủ / bài tập / bangso_c

Bảng số C

Đề bài

Mô tả

Xét một bảng kích thước n dòng, n cột chứa các ô trống và các số tự nhiên trong khoảng từ 1 đến k (với kn). Bảng số được gọi là k-đẹp nếu nó có đủ các tính chất sau:

  • Mỗi hàng và mỗi cột chứa đúng nk ô trống.
  • Trên mỗi hàng và mỗi cột, mỗi số x (1xk) xuất hiện đúng một lần.
  • Bắt đầu từ góc trên cùng bên trái, di chuyển sang phải rồi theo hình xoắn ốc vào trong (theo chiều kim đồng hồ), các giá trị tại những ô chứa số sẽ lần lượt xuất hiện theo thứ tự 1,2,,k,1,2,,k, (lặp lại tuần hoàn).

Cho hai số tự nhiên nk, hãy tạo ra một bảng k-đẹp kích thước n×n, hoặc cho biết không tồn tại.

Dữ liệu vào

Một dòng duy nhất chứa hai số tự nhiên nk.

Dữ liệu ra

  • Nếu có lời giải, ghi ra n dòng, mỗi dòng gồm n số được phân tách bởi một dấu cách, biểu diễn bảng tìm được; ô trống được ghi bằng số 0. Nếu có nhiều lời giải, in ra bất kỳ lời giải đúng nào.
  • Nếu không tồn tại lời giải nào, ghi ra giá trị 1 trên một dòng duy nhất.

Ràng buộc

  • 2n200
  • 2kmin(n,3)
  • Subtask 1 (40% số điểm): k=2.
  • Subtask 2 (60% số điểm): k=3.

Ví dụ

Input Output Giải thích
4 2 1 2 0 0
0 1 2 0
2 0 0 1
0 0 1 2
Mỗi hàng/cột có đúng 2 ô trống và mỗi số 1,2 xuất hiện đúng một lần. Đọc các ô có số theo hình xoắn ốc cho dãy 1,2,1,2,1,2,1,2.
5 3 1 2 0 0 3
3 0 1 2 0
2 0 0 3 1
0 3 2 1 0
0 1 3 0 2
Mỗi hàng/cột có đúng 2 ô trống; mỗi số 1,2,3 xuất hiện đúng một lần. Đọc theo hình xoắn ốc cho dãy 1,2,3,1,2,3,

Ghi chú

Hình xoắn ốc đi theo chiều: từ góc trên trái sang phải hết hàng đầu, xuống hết cột cuối, sang trái hết hàng cuối, lên cột đầu, rồi tiếp tục xoắn vào trong. Chỉ những ô chứa số (khác 0) mới được tính vào dãy giá trị xoắn ốc.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0