#P1046. Color Me Less
Color Me Less
描述
颜色缩减是从一组离散颜色到一组更小颜色集合的映射。解决这个问题需要你在标准的 24 位 RGB 颜色空间中执行这样的映射。输入由十六个 RGB 颜色值组成的目标颜色集,以及一组任意的 RGB 颜色,这些颜色需要映射到目标颜色集中最接近的颜色。对于我们的目的而言,一个 RGB 颜色被定义为一个有序三元组((R, G, B)),其中三元组的每个值都是(0)到(255)之间的整数。两种颜色之间的距离定义为两个三维点之间的欧几里得距离。也就是说,给定两种颜色((R1, G1, B1))和((R2, G2, B2)),它们之间的距离(D)由以下公式给出:

输入
输入是一个 RGB 颜色列表,每行一个颜色,每个颜色由三个(0)到(255)之间的整数表示,整数之间用单个空格分隔。前十六种颜色构成目标颜色集,其余颜色将被映射到这个目标颜色集上。输入以包含三个(-1)值的一行作为结束。
输出
对于每个需要映射的颜色,输出该颜色以及它在目标颜色集中最接近的颜色。
如果存在多个颜色与待映射颜色的距离都是最小的情况,请输出在颜色集中最先出现的那个颜色。
0 0 0
255 255 255
0 0 1
1 1 1
128 0 0
0 128 0
128 128 0
0 0 128
126 168 9
35 86 34
133 41 193
128 0 128
0 128 128
128 128 128
255 0 0
0 1 0
0 0 0
255 255 255
253 254 255
77 79 134
81 218 0
-1 -1 -1