CF490A Team Olympiad

题目描述

贝尔兰首都的0号学校里有 $n$ 个孩子在学习。这个学校里的所有孩子都是有天赋的:有些擅长编程,有些擅长数学,其他的则擅长体育。因此,对于每个孩子,我们都知道一个值 $t_i$ : - 若第 $i$ 个孩子擅长编程,则 $t_i = 1$; - 若擅长数学,则 $t_i = 2$; - 若擅长体育,则 $t_i = 3$。 每个孩子恰好只擅长上述三项中的一项。 科学十项全能竞赛要求每队由三名学生组成。学校老师决定,每支队伍都由三个擅长不同科目的孩子组成。也就是说,每支队伍中必须有一名数学高手、一名编程高手和一名体育高手。当然,每个孩子最多只能加入一支队伍。 学校最多可以组建多少支这样的队伍?每支队伍应如何组建?

输入格式

第一行输入一个整数 $n$,表示学校中的孩子数量。 第二行输入 $n$ 个整数 $t_1, t_2, \ldots, t_n$,其中 $t_i$ 表示第 $i$ 个孩子擅长的科目($1$ 表示编程,$2$ 表示数学,$3$ 表示体育)。

输出格式

第一行输出整数 $w$,表示最多可以组建的队伍数量。 接下来输出 $w$ 行,每行包含三个整数,表示组成一支队伍的孩子编号。每支队伍内的编号顺序可以任意,队伍的输出顺序也没有要求。孩子编号为 $1$ 到 $n$,按照输入中的顺序编号。每个孩子最多只能参与一支队伍。如果没有办法组队,则只需输出一行 $0$。

说明/提示

由 ChatGPT 5 翻译