TopCoder SRM 384 Div1 Easy Library
問題
書物がいくつかある。
書物はそれぞれ、名前、アクセスできるユーザーグループ、置いてある部屋が決まっている。
書物にアクセスするためには、
「アクセスできるユーザーグループが」、自分のアクセスできるユーザグループのどれかに一致し、
置いてある部屋が自分の入れる部屋のどれかに一致する必要がある。
アクセスできる書物の数を求めよ。
制約条件
書物の数≦50
自分のアクセスできる部屋≦50
アクセスできるユーザーグループ≦50
方針
定義にしたがってそれぞれの書物にアクセスできるかを判定する。
ソースコード
class Library { public: int documentAccess(vector <string> records, vector <string> userGroups, vector <string> roomRights) { set<string> s; rep(i,records.size()){ stringstream ss(records[i]); string nm,rm,gp; ss>>nm>>rm>>gp; if(count(all(userGroups),gp)&&count(all(roomRights),rm)) s.insert(nm); } return s.size(); } }: