Mô tả
Câu lạc bộ Hệ Điều Hành tại Đại học Bách Khoa đang tổ chức một buổi thực hành Linux để các tân sinh viên làm quen với môi trường dòng lệnh. Để các bạn mới dễ ghi nhớ và gõ nhanh, ban chuyên môn quyết định phân nhóm các lệnh thực tế theo tiền tố — tức phần đứng trước dấu gạch nối (-) đầu tiên. Ví dụ apt-update và apt-install cùng thuộc nhóm apt, còn git-push thuộc nhóm git.
Nhiệm vụ của bạn là đọc danh sách lệnh, gom những lệnh chia sẻ chung một tiền tố vào cùng một nhóm, rồi in ra từng nhóm theo thứ tự bảng chữ cái của tiền tố. Trong mỗi nhóm, các lệnh cũng được sắp xếp theo thứ tự bảng chữ cái để người đọc dễ theo dõi.
Đầu vào
- Dòng đầu tiên chứa một số nguyên
n(1 ≤ n ≤ 1000) — số lượng lệnh. ndòng tiếp theo, mỗi dòng là một chuỗi lệnhs(1 ≤ |s| ≤ 50), chỉ gồm chữ cái tiếng Anh thường và dấu gạch nối (-). Đảm bảo mỗi lệnh có ít nhất một dấu-, và tiền tố (phần trước dấu-đầu tiên) không rỗng.
Đầu ra
- Với mỗi nhóm tiền tố (theo thứ tự bảng chữ cái), in một dòng theo định dạng:
<tiền tố>: <lệnh1>, <lệnh2>, ...trong đó các lệnh được liệt kê theo thứ tự bảng chữ cái, cách nhau bởi dấu phẩy và một khoảng trắng.
Ràng buộc
- 1 ≤ n ≤ 1000
- 1 ≤ |s| ≤ 50
- Mỗi chuỗi chỉ chứa ký tự
a-zvà-.
Ví dụ
Đầu vào:
6 git-push apt-update git-pull apt-install docker-run apt-upgrade
Đầu ra:
apt: apt-install, apt-update, apt-upgrade docker: docker-run git: git-pull, git-push
Giải thích: Ta có ba nhóm tiền tố là apt, docker và git. Nhóm apt chứa ba lệnh apt-update, apt-install, apt-upgrade; sau khi sắp xếp ta được apt-install, apt-update, apt-upgrade. Nhóm docker chỉ có một lệnh. Nhóm git có git-push và git-pull, sắp xếp thành git-pull, git-push. Các nhóm được in ra theo thứ tự bảng chữ cái: apt → docker → git.