for the tennis ones, I think there is an easier and more efficient way IMO.
a) set 1 person to be paired. There is 3C1 ways of picking a partner, the other pair comes as a result, hence 3 ways
b) again, set 1 person, 7 partners, next set another, 5 partners, again another, 3 partners, and then...