我用什么算法来解决这个问题?

时间:2016-11-03 13:00:31

标签: algorithm pseudocode

2016年的UVA编程竞赛问题出现在:http://acm.cs.virginia.edu/data/2016-contest.pdf 问题我很有趣。该问题的摘要如下。

餐馆有n种食物,m人想订购。每个人都想要一种k食物(每种食物之前都列在n种类型中)。餐厅提供的每种食物只能享用一次。是否有可能满足每个人?

一个例子如下:

餐厅有煎饼,华夫饼和松饼。 汤姆想吃煎饼。 苏西想吃煎饼或华夫饼。 乔想要松饼或华夫饼。

在这种情况下,每个人都可以满意(汤姆有煎饼,苏西有华夫饼,乔有松饼)。
我将使用什么算法来完全解决这个问题(不仅仅是简化它)?我在哪里可以找到伪代码?

1 个答案:

答案 0 :(得分:1)

我认为这个问题可以通过使用Ford-Fulkerson算法的二分匹配来解决。 可以在http://www.geeksforgeeks.org/maximum-bipartite-matching/

中找到示例和说明