Team Olympiad
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
伯兰德首都的第 号学校有 个孩子在学习。学校里的孩子都很有天赋:有些擅长编程,有些擅长数学,还有些擅长体育。因此,对于每个孩子我们知道一个值 :
- 表示第 个孩子擅长编程;
- 表示第 个孩子擅长数学;
- 表示第 个孩子擅长体育(Physical Education)。
每个孩子恰好只擅长其中一门。
科学十项全能奥林匹克竞赛需要由 3 名学生组成一支队伍。老师决定每支队伍由三名擅长不同学科的孩子组成,即每支队伍必须包含:
- 1 名数学好手(),
- 1 名编程好手(),
- 1 名体育好手()。
并且每个孩子最多只能加入一支队伍。
请问学校最多能组建多少支队伍?并输出一种组队方案。
输入格式
- 第一行输入一个整数 ()表示孩子数量。
- 第二行输入 个整数 (),表示第 个孩子擅长的学科类型。
输出格式
- 第一行输出一个整数 ,表示最多能组建的队伍数。
- 接下来输出 行,每行输出三个整数,表示组成该队伍的三个孩子的下标(下标从 到 ,按输入顺序编号)。
为保证输出唯一确定(便于判题平台固定输出),请按如下规则输出方案:
- 每支队伍按顺序输出:编程(类型1) 下标、数学(类型2) 下标、体育(类型3) 下标。
- 队伍的输出顺序:按队伍中“编程(类型1) 下标”从小到大排序输出。
若无法组成任何队伍,则只输出一行 0。
样例
输入 1
7
1 3 1 3 2 1 2
输出 1(示例之一)
2
3 5 2
6 7 4
输入 2
4
2 1 1 2
输出 2
0
说明
最大队伍数为三类人数的最小值:
w = \min(#1,#2,#3)其中 #x 表示类型为 的孩子数量。构造时可分别取三类下标列表中前 个配对组队。