Bài 37.12. Quản Lý Thư Viện Bài Hát - [Độ khó: Siêu khó]


LÀM BÀI

Points: 10 (partial)
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Bài 37.12. Quản Lý Thư Viện Bài Hát - [Độ khó: Siêu khó]

Bạn là người quản lý bộ sưu tập nhạc khổng lồ của mình. Bạn muốn tổ chức các bài hát theo thể loại (Pop, Rock, Classical, v.v.). Mỗi bài hát có tên, nghệ sĩ và thể loại. Bạn muốn có thể thêm bài hát, xóa bài hát, liệt kê tất cả bài hát trong một thể loại cụ thể, và tìm kiếm bài hát theo tên (bất kể thể loại nào). Do số lượng bài hát và thể loại có thể rất lớn, bạn quyết định sử dụng một cấu trúc dữ liệu kết hợp: một mảng hoặc danh sách liên kết các thể loại, và mỗi thể loại lại là một danh sách liên kết các bài hát thuộc thể loại đó.

INPUT FORMAT

Dòng đầu tiên chứa số nguyên Q (1 <= Q <= 200), số lượng thao tác. Q dòng tiếp theo, mỗi dòng là một thao tác:

  1. ADD <Ten_bai_hat> <Nghe_si> <The_loai>: Thêm một bài hát mới. Ten_bai_hat, Nghe_si, The_loai là chuỗi không khoảng trắng, độ dài tối đa 50 ký tự. Tên bài hát là duy nhất.
  2. REMOVE <Ten_bai_hat>: Xóa bài hát khỏi thư viện.
  3. LIST_GENRE <The_loai>: Liệt kê tất cả bài hát thuộc một thể loại cụ thể.
  4. FIND_SONG <Ten_bai_hat>: Tìm và hiển thị thông tin chi tiết của bài hát.
OUTPUT FORMAT
  • Với thao tác ADD: Không in gì.
  • Với thao tác REMOVE: In ra Da xoa bai hat: X (nếu tìm thấy). Nếu không tìm thấy, in ra Bai hat X khong ton tai.
  • Với thao tác LIST_GENRE: Với mỗi bài hát, in ra Ten_bai_hat - Nghe_si. Nếu không có bài hát nào trong thể loại đó hoặc thể loại không tồn tại, in ra The loai Y khong co bai hat nao.
  • Với thao tác FIND_SONG: In ra Ten_bai_hat - Nghe_si - The_loai. Nếu không tìm thấy, in ra Bai hat X khong ton tai.
Ví dụ:

Input:

7
ADD Happy Pharrell Pop
ADD BohemianRhapsody Queen Rock
ADD Imagine JohnLennon Pop
LIST_GENRE Pop
REMOVE BohemianRhapsody
LIST_GENRE Rock
FIND_SONG Happy

Output:

Happy - Pharrell
Imagine - JohnLennon
Da xoa bai hat: BohemianRhapsody
The loai Rock khong co bai hat nao.
Happy - Pharrell - Pop

Giải thích:

  1. ADD Happy Pharrell Pop: Thêm bài Happy vào thể loại Pop.
  2. ADD BohemianRhapsody Queen Rock: Thêm BohemianRhapsody vào Rock.
  3. ADD Imagine JohnLennon Pop: Thêm Imagine vào Pop.
    • Cấu trúc dữ liệu hiện tại (tưởng tượng):
      • Pop: Happy -> Imagine
      • Rock: BohemianRhapsody
  4. LIST_GENRE Pop: Liệt kê các bài trong Pop.
  5. REMOVE BohemianRhapsody: Tìm và xóa BohemianRhapsody.
    • Cấu trúc dữ liệu hiện tại:
      • Pop: Happy -> Imagine
      • Rock: (trống)
  6. LIST_GENRE Rock: Rock hiện tại trống.
  7. FIND_SONG Happy: Tìm bài Happy và in thông tin.


Comments

There are no comments at the moment.

Zalo