#C1047. 【202503】 分玩具

【202503】 分玩具

Problem Description

已知 nn 位小朋友对 mm 件玩具的喜好(nmn \le m),现要将 mm 件玩具分给 nn 位小朋友,每位小朋友只能分到 1 件玩具,每件玩具也最多只能分给 1 位小朋友,并且还要求每位小朋友都能分到自己喜欢的玩具。 本题请你对任意 nnmm 尝试列出所有满足要求的方案。

Input Format

输入第一行给出两个正整数 nnmmnm8n \le m \le 8),即小朋友人数和玩具的数量。 随后 nn 行,每行给出 mm 个数字。其中第 ii 行第 jj 个数字为 1 表示第 ii 位小朋友喜欢第 jj 件玩具,为 0 则表示不喜欢。

Output Format

按升序列出所有满足要求的方案,格式为 (s1, … , sn)。其中 si 表示第 ii 位小朋友分到了第 si 件玩具。 注:方案 (a1, … ,an)<(b1an) < (b1, … , bn) 是指存在1kn1 \le k \le n,使得ai =biai = bi 对所有1i<k1 \le i< k 成立,并且有ak <bkak < bk

4 5
0 1 0 0 1
1 1 0 1 0
1 0 1 1 0
0 0 0 1 1
(2, 1, 3, 4)
(2, 1, 3, 5)
(2, 1, 4, 5)
(2, 4, 1, 5)
(2, 4, 3, 5)
(5, 1, 3, 4)
(5, 2, 1, 4)
(5, 2, 3, 4)