I don't like problems like this, for me it's just brute forcing: you first eliminate the dates that would have given Albert a chance to know Cheryl's birthday (the dates whose months have a unique day in the list), given that you eliminate the other dates that would allow Bernard to know the birthday, and finally you keep the date that allow Albert to know. It doesn't require any smart thinking at all.