#DJKS3024. 【C++ 三级_202503】分玩具
【C++ 三级_202503】分玩具
Description
已知n位小朋友对m件玩具的喜好(n ≤ m),现要将m件玩具分给n位小朋友,每位小朋友只能分到1件玩具,每件玩具也最多只能分给1位小朋友,并且还要求每位小朋友都能分到自己喜欢的玩具。
本题请你对任意n和m尝试列出所有满足要求的方案。
Input Format
输入第一行给出两个正整数n和m(n ≤ m ≤ 8),即小朋友人数和玩具的数量。 随后n行,每行给出m个数字。其中第i行第j个数字为1表示第i位小朋友喜欢第j件玩具,为0则表示不喜欢。
Output Format
按升序列出所有满足要求的方案,格式为(s1,… , sn)。其中si表示第i位小朋友分到了第si件玩具。 注:方案(a1,… , an)< (b1,… , bn)是指存在1 ≤ k ≤ n,使得ai= bi对所有1≤ i< k成立,并且有ak< 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)