Mô tả
Anh Long làm quản trị hệ thống cho một trung tâm dữ liệu nội bộ của Viettel. Mỗi ngày, hệ thống tự động tải về rất nhiều gói phần mềm mã nguồn mở để phục vụ vận hành. Anh Long nhận thấy danh sách nhận được thường chứa nhiều bản ghi trùng tên do các máy chủ khác nhau cùng báo cáo. Để báo cáo chính xác số lượng gói thực tế đang được sử dụng, anh Long cần loại bỏ các bản trùng lặp và đếm xem kho đang quản lý bao nhiêu gói phân biệt.
Nhiệm vụ của bạn là: cho một danh sách gồm nhiều chuỗi là tên các gói phần mềm, hãy đếm số lượng gói có tên phân biệt. Thứ tự các tên trong danh sách không quan trọng, và hai chuỗi được xem là trùng nhau khi giống nhau hoàn toàn (phân biệt chữ hoa, chữ thường, khoảng trắng).
Đầu vào
Dữ liệu nhập vào dưới dạng:
- Dòng đầu tiên chứa một số nguyên dương
n— số lượng bản ghi trong danh sách (1 ≤ n ≤ 1000). ndòng tiếp theo, mỗi dòng chứa một chuỗi là tên một gói phần mềm.
Chế độ gọi hàm (Python): hàm nhận một tham số là danh sách các chuỗi n phần tử.
Đầu ra
Trả về (hoặc in ra) một số nguyên duy nhất là số lượng gói phân biệt.
Ràng buộc
- 1 ≤ n ≤ 1000.
- Mỗi chuỗi có độ dài từ 1 đến 50 ký tự, chỉ chứa chữ cái, chữ số, dấu chấm, dấu gạch ngang và dấu gạch dưới.
Ví dụ
Ví dụ 1
Danh sách bản ghi gồm 6 tên:
nginx mysql redis nginx mongo mysql
Các tên phân biệt là: nginx, mysql, redis, mongo — tổng cộng 4 gói.
Kết quả: 4
Ví dụ 2
Danh sách chỉ có 1 tên:
docker
Chỉ có đúng 1 gói phân biệt.
Kết quả: 1