#C4J. 三班值守
三班值守
题意:
有 名志愿者,编号为 到 。一天有早班、中班、晚班,每个班次需要安排一人,三个班次必须由三名不同的人负责。
每名志愿者分别说明自己能否参加早班、中班、晚班。
求合法排班方案数,并输出其中编号字典序最小的方案 :先比较早班人员编号,再比较中班,最后比较晚班。
同一组人员负责不同班次,视为不同方案。
输入格式:
第一行一个整数 (),表示志愿者数量。
接下来 行,第 行三个整数 、、(),分别表示第 人能否参加早班、中班、晚班, 表示可以, 表示不可以。
输出格式:
第一行输出合法方案数。
若存在合法方案,第二行输出字典序最小方案的三个编号;否则第二行输出 NONE。
样例:
样例输入:
3
1 1 0
1 0 1
0 1 1
样例输出:
2
1 3 2
样例解释:
合法方案分别为 和 ,其中 的字典序更小。
相关
在下列比赛中: