[AGC018B] Sports Festival
题意翻译
Takahashi举办了一场运动会,这场运动会有M个项目,有N个人来参加。
给你一个N*M的二维数组a,其中a[i][j]表示第i个人,她心目中排名第j的项目是哪个。
这M个项目不一定全都要进行,可以选其中一些项目进行,剩下的都鸽掉,当然肯定不能鸽掉所有M个项目。
每个人会在所有开展的项目当中,选择她心目中排名最高的那个项目参加。
因此,如果开展全部项目的话,可能某个项目的人数会爆多无比,所以Takahashi决定,只开展其中的一部分项目,使得参加人数最多的那个项目,参加人数尽量少。
请输出这个值。
———from[@__stdcall](https://www.luogu.org/space/show?uid=8212)
题目描述
[problemUrl]: https://atcoder.jp/contests/agc018/tasks/agc018_b
高橋君は、スポーツ大会を開こうと考えています。 スポーツ大会に参加するのは、$ 1 $ から $ N $ までの番号のついた $ N $ 人の人です。 また、大会で行うスポーツとして、$ 1 $ から $ M $ までの番号のついた $ M $ 個のスポーツが候補に上がっています。 高橋君は、これらの中から $ 1 $ つ以上(全てでもよい)のスポーツを選んで、スポーツ大会で実施します。
高橋君は、人 $ i $ が、$ j $ 番目に好きなスポーツが $ A_{ij} $ であることを知っています。 それぞれの人は、スポーツ大会で実施されるスポーツのうち、自分が最も好きなスポーツだけに参加し、他のスポーツには参加しません。
高橋君は、一つのスポーツにたくさんの人が集まり過ぎることを懸念しています。 そこで高橋君は、スポーツ大会で実施するスポーツをうまく選んで、最も多くの人が参加しているスポーツの参加人数を最小化したくなりました。 最も多くの人が参加しているスポーツの参加人数の最小値を求めてください。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ M $ $ A_{11} $ $ A_{12} $ $ ... $ $ A_{1M} $ $ A_{21} $ $ A_{22} $ $ ... $ $ A_{2M} $ $ : $ $ A_{N1} $ $ A_{N2} $ $ ... $ $ A_{NM} $
输出格式
最も多くの人が参加しているスポーツの参加人数の最小値を出力せよ。
输入输出样例
输入样例 #1
4 5
5 1 3 4 2
2 5 3 1 4
2 3 1 4 5
2 5 4 3 1
输出样例 #1
2
输入样例 #2
3 3
2 1 3
2 1 3
2 1 3
输出样例 #2
3
说明
### 制約
- $ 1\ \leq\ N\ \leq\ 300 $
- $ 1\ \leq\ M\ \leq\ 300 $
- $ A_{i1} $ , $ A_{i2} $ , $ ... $ , $ A_{iM} $ は、$ 1 $ から $ M $ の順列である。
### Sample Explanation 1
スポーツ $ 1 $,$ 3 $,$ 4 $ を実施することにすると、人 $ 1 $ はスポーツ $ 1 $ に、人 $ 2 $ はスポーツ $ 3 $ に、 人 $ 3 $ はスポーツ $ 3 $ に、人 $ 4 $ はスポーツ $ 4 $ に参加します。 このとき、参加人数が最大のスポーツはスポーツ $ 3 $ で、その参加人数 $ 2 $ 人です。 また、参加人数が最大のスポーツの参加人数が $ 1 $ 人になるような方法は存在しないので、この例の答えは $ 2 $ になります。
### Sample Explanation 2
全員の好みが一致しているので、どうやっても一つのスポーツに $ 3 $ 人集まってしまいます。 よってこの例の答えは $ 3 $ です。