Description:

N頭の牛と、F種類の食事、D種類の飲み物がある。(1 <= N,F,D <= 100)
各食事、飲み物は一食分ずつしか用意されていない。
各牛の食べたい食事、飲み物のリストが与えられるので、共に満たされる牛を最大何頭まで作ることが出来るか求めよ。

Answer:

src, 食事(F点), 牛1(N点), 牛2(N点), 飲み物(D点), sinkからなるグラフを考える。
枝は、
srcから全部の食事へ、
食事から、その食事を食べたいと思っている牛1の点全部へ、
牛1から自分自身の牛2の点へ、
牛2から、その牛が飲みたい飲み物全部へ、
飲み物からsinkへ。
このグラフのmax flowが答えになる。

Source: