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

Chữ thập

Đề bài

Mô tả

Cho một bảng lưới gồm n hàng và m cột. Hàng được đánh số từ 1 từ trên xuống dưới, cột được đánh số từ 1 từ trái sang phải. Ô nằm ở hàng i và cột j được ký hiệu là (i,j).

Một bộ sáu số (a,b,c,d,x0,y0) với 0a,b,c,d được gọi là một chữ thập. Tập ô thuộc chữ thập này gồm tất cả các ô (x,y) thỏa mãn ít nhất một trong hai điều kiện:

  • |x0x|a|y0y|b
  • |x0x|c|y0y|d

Nói cách khác, chữ thập là hợp của hai hình chữ nhật cùng có tâm tại ô (x0,y0).

Chữ thập được gọi là nằm trọn trong bảng nếu mọi ô (x,y) của nó đều thỏa mãn 1xn1ym.

Diện tích của chữ thập là số ô mà nó chứa.

Nhiệm vụ của bạn là đếm số bộ sáu số (a,b,c,d,x0,y0) khác nhau xác định một chữ thập có diện tích đúng bằng s và nằm trọn trong bảng.

Hai chữ thập được xem là khác nhau nếu hai bộ sáu số có thứ tự xác định chúng khác nhau, kể cả khi chúng trùng nhau khi xét như tập ô.

Dữ liệu vào

Một dòng duy nhất chứa ba số nguyên n, ms cách nhau bởi dấu cách.

Dữ liệu ra

In ra một số nguyên duy nhất: số bộ sáu số thỏa mãn yêu cầu.

Ràng buộc

  • 1n,m500
  • 1sn·m

Ví dụ

Input Output Giải thích
2 2 1 4 Các bộ số cần tìm là (0,0,0,0,1,1), (0,0,0,0,1,2), (0,0,0,0,2,1), (0,0,0,0,2,2). Mỗi chữ thập chỉ gồm đúng một ô, và ô đó có thể là bất kỳ ô nào trong 4 ô của bảng.
3 4 5 4 Các bộ số cần tìm là (0,1,1,0,2,2), (0,1,1,0,2,3), (1,0,0,1,2,2), (1,0,0,1,2,3). Ở đây hai hình chữ nhật thực sự tạo thành hình chữ thập: một hình rộng 3 ô theo chiều ngang, một hình cao 3 ô theo chiều dọc, giao nhau tại tâm nên tổng diện tích là 3+31=5.

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