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).
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}.
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.
1 ≤ R, U, Q ≤ 200; 0 ≤ E ≤ 400. Có thể có chu trình.
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:
Đang tải editor...