描述
如果有这么三个人a,b,c,并且a爱上b,b爱上c,c爱上a这样一个循环,那么我们就把这种包含三个人的循环定义为“奇怪的循环”。我们给出一群人的爱慕关系,目标是找出这些爱慕关系中有多少这种狗血的“奇怪的循环”。
输入
输入共包括n+1行,第一行为正整数n,下面紧跟n行;
每行包括两个名字A,B并用空格隔开,表示A爱上了B
(输入数据保证一个人只爱另外一个人,不存在一个人爱多个人的情况)
输出
输出一个整数,共包含多少个“奇怪的循环”。
样例输入
4
Alice Bob
Bob Carol
Carol Alice
Syf None
样例输出
1
提示
样例中Alice,Bob,Carol就是这么一个循环
给个简单的例子,用简单字母测试结果:
relations = {}
n = int(input("请输入一个数字n:"))
for i in range(n):
names = input(f'请输入第{i+1}组名字:')
name_arr = [name for name in names.split(' ')]
relations[name_arr[0]] = name_arr[1]
count = 0
for key in relations:
name1 = key
name2 = relations[key]
if name2 in relations.keys():
name3 = relations[name2]
if name3 in relations.keys() and relations[name3]==name1:
count += 1
print(count//3) #同一组关系会被统计3次,所以除3