Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Phân cấp vai trò: đếm quyền hiệu dụng của user

    RBAC phân cấp — đếm quyền hiệu dụng theo người dùng

    Kết hợp phân cấp vai trò (kế thừa bắc cầu) với gán nhiều vai trò cho người dùng. Với mỗi người dùng được truy vấn, hãy đếm số quyền hiệu dụng phân biệt (gồm cả quyền kế thừa).

    Ví dụ

    Input:

    3
    senior manage
    mid edit
    junior view
    2
    senior mid
    mid junior
    2
    alice senior
    bob junior
    2
    alice
    bob
    

    Output:

    3
    1
    

    alice(senior) có {manage, edit, view}; bob(junior) có {view}.

    • Định dạng đầu vào:

      Dòng 1: R. R dòng role perms.... Dòng kế: E. E dòng senior junior. Dòng kế: U. U dòng user roles.... Dòng kế: Q. Q dòng: tên người dùng.

    • Ràng buộc đầu vào:

      1 ≤ R, U, Q ≤ 200; 0 ≤ E ≤ 400. Có thể có chu trình.

    • Định dạng đầu ra:

      Q dòng, mỗi dòng một số nguyên.

    Ví dụ:

    Đầu vào:

    3
    senior manage
    mid edit
    junior view
    2
    senior mid
    mid junior
    2
    alice senior
    bob junior
    2
    alice
    bob
    

    Đầu ra:

    3
    1

    Giải thích:

    alice(senior) kế thừa mid,junior → {manage,edit,view}=3; bob(junior) → {view}=1.

    Đang tải editor...