2016年的UVA编程竞赛问题出现在:http://acm.cs.virginia.edu/data/2016-contest.pdf 问题我很有趣。该问题的摘要如下。
餐馆有n种食物,m人想订购。每个人都想要一种k食物(每种食物之前都列在n种类型中)。餐厅提供的每种食物只能享用一次。是否有可能满足每个人?
一个例子如下:
餐厅有煎饼,华夫饼和松饼。 汤姆想吃煎饼。 苏西想吃煎饼或华夫饼。 乔想要松饼或华夫饼。
在这种情况下,每个人都可以满意(汤姆有煎饼,苏西有华夫饼,乔有松饼)。
我将使用什么算法来完全解决这个问题(不仅仅是简化它)?我在哪里可以找到伪代码?
答案 0 :(得分:1)
我认为这个问题可以通过使用Ford-Fulkerson算法的二分匹配来解决。 可以在http://www.geeksforgeeks.org/maximum-bipartite-matching/
中找到示例和说明