[text] Quora 7 L I like girl A. We are very good friends. As best friend B likes me. Also A likes a guy C who is my best bro and C likes another girl D who is in a relationship with another guy. What should we do 2 Answer R Follow 145 Q Request D07 e All related 100 V Sort Recommended v . Follow You can apply Bipartite Matching algorithm of Graph Theory. All you have to do is 1. Putall girls as vertices as in Part A and boys as vertices bs in Part B. 2. Draw an edge between vertex a to vertex b if a likes b. 3.1t will be a bipartite graph there are no edges within vertices of Part A and same for Part B unless your friends are not straight. 4. Then find maximum matching for this bipartite graph. refer this link Maximum Bipartite Matching GeeksforGeeks 5. You will get maximum matching as output and the matched edges will be the pairs who should be together. 6. You can apply weighted bipartite matching algorithm if you know how much they lovelike each other. In that case assign weights according to their amount of love. and repeat step 4 and 5. Thanks for asking this question. Finally have found a real life problem which can be solved by what Prof Panda has been teaching us for 23 years. PS. 1 can provide you code for both weighted and unweighted maximum bipartite matching which made for my project.