#1578. HAEVY - Chuỗi Axit mạnh

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: Trình chấm ngoài
Đưa lên bởi: Trùm CUỐI

Đề bài

Trong quá trình nghiên cứu điều chế vắc xin nguời ta phân lập được n kháng thể tiềm năng. Mỗi kháng thể được đặc trưng bởi chuỗi a xit amin đứng liên tiếp ở đầu hoặc cuối trong kháng thể. Để tiếp tục khảo sát các tính chất của kháng thể người ta tiến hành phân nhóm. Hai kháng thể thuộc một nhóm nếu chúng có dãy k a xít amin ở đầu giống nhau hoặc có dãy k a xít amin ở cuối giống nhau. Mỗi loại a xít amin được đặc trưng bằng một chữ cái la tinh hoa và mỗi kháng thể chứa không quá 550 a xít amin.

Hãy xác định số nhóm ít nhất có thể chia các kháng thể nhận được.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên n k\ (1 \le n \le 5000, 1 \le k \le 550) ;
  • Mỗi dòng trong n dòng sau chứa xâu xác định chuỗi a xít amin của một kháng thể.

Kết quả:

  • Dòng đầu tiên chứa số nguyên g là số nhóm ít nhất có thể phân chia;
  • Dòng thứ i trong g dòng sau chứa số nguyên m_i là số kháng thể trong nhóm i và sau đó là m_i số nguyên xác định các kháng thể thuộc nhóm này.

Ví dụ:

Dữ liệu:

4 1
AA
AB
BB
BA

Kết quả:

2
2 1 2
2 3 4