So I did this this problem, and I noticed that because each diverging path has to result in a featureless cow, so I just wrote this simple code:
"""
HAHAHAHAHA
THIS ABSOLUTELY CHEESES THE TEST CASES
"""
subpopulations = []
num_at = 0
with open('evolution.in') as read:
for _ in range(int(read.readline())):
subpopulations.append(read.readline().strip().split()[1:])
weakPossible = 'yes' if [] in subpopulations else 'no'
print(weakPossible)
print(weakPossible, file=open('evolution.out', 'w'))
To my surprise, it passed all the test cases. This is especially surprising given that an easy case that makes this program fail is the following:
2
1 A
1 C
So…