Vẽ ngôi sao (Easy)

Đề bài

Mô tả

Một ngôi sao kích thước s1 là hình gồm một ô trung tâm và bốn tia có cùng độ dài s kéo ra bốn hướng trên, dưới, trái, phải. Tổng cộng ngôi sao chiếm 4s+1 ô được đánh dấu bằng ký tự *; các ô còn lại trong hình bao quanh là ..

Cho lưới n×m gồm các ký tự *.. Hãy biểu diễn lưới này bằng cách vẽ chồng (cho phép giao nhau hoặc trùng nhau) tối đa n·m ngôi sao, sao cho hợp tất cả các ô * của các ngôi sao đã vẽ trùng khớp chính xác với tập các ô * của lưới đã cho. Mỗi ngôi sao phải nằm hoàn toàn trong lưới.

Nếu không thể biểu diễn, hãy in ra 1. Ngược lại, hãy in ra một cách biểu diễn bất kỳ (không cần tối thiểu số ngôi sao).

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nm.
  • n dòng tiếp theo, mỗi dòng gồm m ký tự * hoặc . mô tả lưới.

Dữ liệu ra

  • Nếu không tồn tại cách biểu diễn, in ra một số 1.
  • Ngược lại, dòng đầu in ra số nguyên k (0kn·m) — số ngôi sao đã dùng. k dòng tiếp theo, mỗi dòng chứa ba số nguyên xj,yj,sj: hàng, cột của tâm và kích thước của ngôi sao thứ j. Mỗi ngôi sao phải nằm hoàn toàn trong lưới (1xjsj, xj+sjn, 1yjsj, yj+sjm).

Đáp án không yêu cầu duy nhất. Mọi bộ ngôi sao hợp lệ tái tạo đúng lưới đều được chấp nhận.

Ràng buộc

  • 3n,m100.

Ví dụ

Input Output Giải thích
6 8
....*...
...**...
..*****.
...**...
....*...
........
2
3 4 1
3 5 2
Hai ngôi sao tâm (3,4) kích thước 1 và tâm (3,5) kích thước 2 cùng vẽ ra đúng lưới đầu vào.
5 5
.*...
.
.

..**.
.....
3
2 2 1
3 3 1
3 4 1
Ba ngôi sao kích thước 1 phủ tất cả các dấu sao.
5 5
.*...
***..
.*...
.*...
.....
-1 Lưới có một ô sao cô lập không thuộc bất kỳ ngôi sao hợp lệ nào, nên không thể biểu diễn.

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