题意简述
给你一些木棍,每个木棍有长度和颜色。输出一种方案,选择三个木棍,使得颜色不一样且能拼成一个三角形。开,多解输出任意一个。
木棍数量,颜色数量。
思路框架
按长度排序,每次更新答案。
具体思路
首先木棍显然是无序的。无序的问题,就先无脑排序一下(如果复杂度能承受)。没问题的。
然后我们用一个长度为的数组表示答案。每次枚举,表示我们必须要把放到答案中(如果合法)
如果我们的答案中已经有一个和同颜色的木棍,那么我们肯定是换掉来的好,因为的长度肯定大于这根木棍的长度。(我们排过序,记得么)
然后如果没有相同的颜色,就用它换掉最短的那个木棍。这样显然也是更好的。
然后检测一下是否合法。如果合法,就输出答案,然后直接退出程序即可。
代码
1 |
|