I can see why you would be confused. I don't think this question is worded correctly.
I am thinking that the question should say: "which 3 routers would R1 need to peer with?".
If no-client-reflect is configured on RR1 and RR2, R1 would need to have BGP sessions with R2, and R3 so that R2 and R3 can receive the routes advertised by R1. Thus, R1 would need to peer with R2, R3, RR1 and RR2.
RR1 on the other hand, would need to peer with R1, R2, R3, and RR2 regardless of wether no-client-reflect is configured or not.
1/ no-client-reflect makes sense only when clients are peering with each other. So, if R1,R2 and R3 are RR1-clients, and only RR1 has no-client-reflect knob enabled, then R1,R2 and R3 must be peering with each other.
2/ if RR1 peers with RR4, then there is no need for RR1 to peer with R5 and R6.
3/ so, this leaves us with a choice of RR4, R1 and R2 for RR1 to peer with. Such scheme leaves out R3 but R3 can peer with RR2 and be well fed with routes.
Im not quite understanding still, can you explain in a different way please?
Certainly. This question is an example of how NOT to build a network, or rather how do You minimize the adverse impact of previous decisions made.
It is clear that with restrictions imposed on RR1 (can have only 3 peers and only from a given list) it cannot possibly serve its proximate clients R1, R2 and R3 _AND_ at the same time pass enough routing information to the right half of the network.
So, the choice needs to be made and I explained my choice in my previous post.