가희와 지하철역 저장 시스템 1
시간 제한2초메모리 제한512 MB
역별 특징 집합을 업데이트하면서 주어진 특징을 모두 가진 역의 수를 구한다.
문제
가희는 n개의 지하철역 정보를 보기 위한 시스템을 만들었습니다. 이 시스템은 정말 단순하게 동작합니다.
- 유저가 역
station의 특징을 한 번도 업데이트하지 않은 경우, 역station의 특징은 없습니다. - 각 역은 유저들이 업데이트한 특징이 있습니다. 예를 들어,
deepstation,longescalator,dungeon과 같은 것들입니다. deepstation,longescalator,dungeon과 같은 특징을 입력했을 때 조건에 맞는 역들이 나타나게 됩니다.
그런데 사용하는 유저가 많아질수록 가희가 만들어 놓은 시스템이 느려지기 시작했습니다. 가희를 도와주세요.
입력
첫 번째 줄에 n이 주어집니다.
다음 n개의 줄에 역 이름이 한 줄에 하나씩 주어집니다.
다음 줄에 요청의 개수 r이 주어집니다.
다음 r개의 줄에 요청이 다음 형식 중 하나로 주어집니다.
Ustationfeatures- 역
station의 특징을features로 업데이트합니다.
- 역
Gfeaturesfeatures의 특징을 모두 가진 역의 개수를 출력합니다.
이때 features는 특징이 여러 개인 경우 콤마(,)로 구분되어 주어집니다. 또한 중복된 특징은 주어지지 않습니다.
station은 주어진 n개의 지하철역 이름 중 하나입니다..
예를 들어, soongsiluniv역의 특징을 line7과 deep으로 업데이트 하려는 경우 요청은 아래와 같이 주어집니다.
U soongsiluniv line7,deep
또한 특징 beautiful과 dungeon이라는 특징을 가지는 역의 개수를 구하라는 요청은 아래와 같이 주어집니다.
G beautiful,dungeon
출력
조건을 만족하는 역의 개수를 구하라는 요청이 들어올 때마다 한 줄에 하나씩 답을 출력해 주세요.
제한
1≤n≤5×1051≤r≤105- 주어지는 역명의 길이는 1 이상 10 이하이며, 역명은 중복되지 않습니다. 역명은 알파벳 대소문자와 숫자로만 이루어져 있습니다.
- 요청에 주어지는
features의 길이 총합은2×106을 넘어가지 않습니다. 이때, 구분자,는 길이 총합에서 제외됩니다. - 전체
U요청에 나타난 모든 특징의 종류는 1개 이상 9개 이하입니다. - 특징은 알파벳 대소문자와 숫자로만 이루어져 있으며, 길이는 1 이상 10 이하입니다.
G요청은 하나 이상 주어집니다.
힌트
2개의 U 요청이 아래와 같았다고 해 보겠습니다.
Ua,b,c,d,e,f,gUh,i,j,k
이러한 요청은 들어오지 않습니다. 전체 U 업데이트에 사용된 모든 특징의 종류가 a,b,c,d,e,f,g,h,i,j,k로 11개이기 때문입니다.
또한, G 요청은 U 요청에 나오지 않은 특징이 나올 수 있습니다. [예제 2]는 이를 보여줍니다.