import java.util.HashMap;
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
try {
while (scanner.hasNext()){
int opsNum = Integer.parseInt(scanner.nextLine());
HashMap<String, HashSet<String>> guToName = new HashMap<>();
HashMap<String,HashSet<String>> nameToGu = new HashMap<>();
for (int i=0;i<opsNum;i++){
String str = scanner.nextLine();
// 注册
if (str.charAt(0) == '1'){
String[] arrStrs = str.split(" ");
String[] gStr = scanner.nextLine().split(" ");
for (String s : gStr){
if (!nameToGu.containsKey(arrStrs[1])){
nameToGu.put(arrStrs[1],new HashSet<>());
}
nameToGu.get(arrStrs[1]).add(s);
if (!guToName.containsKey(s)){
guToName.put(s, new HashSet<>());
}
guToName.get(s).add(arrStrs[1]);
}
}
// 查询
if (str.charAt(0) == '2'){
String name = str.split(" ")[1];
if (!nameToGu.containsKey(name)){
System.out.println("error");
}else {
int ans = 0;
boolean theOne = false;
Set<String> gupiao1 = nameToGu.get(name);
for (String s : gupiao1){
Set<String> name1 = guToName.get(s);
for (String n : name1){
if (!n.equals(name)){
Set<String> gu = nameToGu.get(n);
for (String g : gu){
if (!gupiao1.contains(g)){
ans++;
}
}
}
}
}
System.out.println(ans);
}
}
}
}
}catch (Exception e){
e.printStackTrace();
}
}
}
2022-08-10
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...