trang chủ / đề bài / dhbb13_cword

Sửa lỗi

Đề bài

Mô tả

Giáo sư Hùng đã dành nhiều thời gian để nghiên cứu chữ viết của người HPC, ông đã thu thập được danh sách gồm N từ, mỗi từ được biểu diễn bằng một xâu kí tự. Tuy nhiên, trong N từ đó có một số từ đã không được thu thập đầy đủ. Cụ thể, một từ được biểu diễn bằng một xâu chỉ gồm kí tự chữ cái Latin in thường ('a' đến 'z') và kí tự '*', kí tự chữ cái Latin in thường thể hiện cho những vị trí biết chính xác, còn kí tự '*' thể hiện cho những vị trí không biết chính xác. Qua phân tích, giáo sư nhận thấy, trong danh sách N từ này rất có thể có những từ được xuất hiện nhiều lần.

Yêu cầu: Cho N xâu, mỗi xâu chỉ gồm kí tự chữ cái Latin in thường ('a' đến 'z') và kí tự '*', hãy tìm cách thay tất cả các kí tự '*' trong các xâu bằng các chữ cái Latin in thường ('a' đến 'z') để nhận được ít xâu khác nhau nhất.

Mỗi kí tự '*' được thay độc lập bằng một chữ cái tùy ý (các kí tự '*' khác nhau, kể cả trong cùng một xâu, có thể được thay bằng các chữ cái khác nhau). Độ dài các xâu không thay đổi. Các xâu giống hệt nhau sau khi thay chỉ được tính là một.

Dữ liệu vào

  • Dòng đầu số nguyên N.
  • N dòng sau, mỗi dòng ghi một xâu độ dài không vượt quá 20.

Dữ liệu ra

Gồm một dòng ghi một số nguyên là số lượng xâu khác nhau ít nhất có thể nhận được.

Ràng buộc

  • 1≤N≤30.
  • Mỗi xâu có độ dài từ 1 đến 20, chỉ gồm các chữ cái Latin in thường và kí tự '*'.

Subtasks

  • Subtask 1 (60% số điểm): N≤10, các xâu chỉ gồm các kí tự '*', 'a', 'b', tổng số kí tự '*' không vượt quá 20.
  • Subtask 2 (40% số điểm): không có ràng buộc gì thêm.

Ví dụ

Input Output Giải thích
4
cat
*a*
h**
hat
2 Thay "*a*" thành "cat" và "h**" thành "hat", nhận được các xâu cat, cat, hat, hat: có 2 xâu khác nhau. Không thể chỉ còn 1 xâu vì "cat" và "hat" khác nhau.
5
ab*
*b*
*ba
aa*
a*a
2 Ví dụ bổ sung. Ba xâu đầu thay thành "aba", hai xâu sau thay thành "aaa". Xâu "a*a" hợp được với "ab*" (thành "aba") và với "aa*" (thành "aaa"), nhưng "ab*" và "aa*" không thể giống nhau, nên không thể chỉ còn 1 xâu.

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