Loading...
요리사 하나는 초기 재료 세트로 레시피를 조합하여 다양한 요리를 만들 수 있다. 각 레시피는 필요한 재료 목록과 만들어지는 요리 이름으로 구성된다. 이미 보유한 재료 또는 이전에 만들어진 요리를 재료로 사용할 수 있다.
초기 재료로 만들 수 있는 모든 요리의 수를 구하여라.
첫째 줄에 초기 재료 수 N이 주어진다. 둘째 줄에 초기 재료 이름이 공백으로 구분되어 주어진다. 셋째 줄에 레시피 수 M이 주어진다. 다음 M줄에 걸쳐 각 레시피의 필요 재료 수 K, 재료 이름 K개, 결과 이름이 주어진다.
만들 수 있는 요리(초기 재료 제외)의 수를 출력한다.
2
A B
3
2 A B C
1 C D
2 B D E
3
1
A
2
2 A B C
1 A D
1
설명: 예제 1에서 A,B로 C를 만들고, C로 D를 만들고, B와 D로 E를 만든다. 총 3개. 예제 2에서 B가 없으므로 A+B→C는 불가. A→D만 가능하여 1개.