【ZOJ 1067】Color Me Less 题解(vector+开方)

news2025/7/20 2:37:51

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

输入
文件是RGB颜色的列表,每行一种颜色,指定为由单个空格分隔的从0到255的三个整数。前十六种颜色形成了剩余颜色将映射到的目标颜色集。输入由包含三个-1值的行终止。
输出
对于要映射的每个颜色,输出颜色及其与目标集最近的颜色。

Example

Input

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

Output

(0,0,0) maps to (0,0,0)
(255,255,255) maps to (255,255,255)
(253,254,255) maps to (255,255,255)
(77,79,134) maps to (128,128,128)
(81,218,0) maps to (126,168,9)

思路

相当于通过求三维坐标中两点距离,找出距离最近的两点。

AC代码

#include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <climits>
#define AUTHOR "HEX9CF"
using namespace std;

int main()
{
    vector<vector<int>> data;
    vector<vector<int>> ask;
    int x, y, z;
    for (int i = 0; i < 16; i++)
    {
        cin >> x >> y >> z;
        data.push_back({x, y, z});
    }
    while (cin >> x >> y >> z)
    {
        if (-1 == x && x == y && y == z)
        {
            break;
        }
        ask.push_back({x, y, z});
    }

    vector<vector<int>>::iterator ita = ask.begin();
    for (; ita != ask.end(); ita++)
    {
        float mind = 999.;
        int map[6];
        vector<vector<int>>::iterator itd = data.begin();
        for (; itd != data.end(); itd++)
        {
            float d = sqrt(pow(((*itd)[0] - (*ita)[0]), 2) + pow(((*itd)[1] - (*ita)[1]), 2) + pow(((*itd)[2] - (*ita)[2]), 2));
            if (d < mind)
            {
                mind = d;
                map[0] = (*ita)[0];
                map[1] = (*ita)[1];
                map[2] = (*ita)[2];
                map[3] = (*itd)[0];
                map[4] = (*itd)[1];
                map[5] = (*itd)[2];
            }
            // cout << d << endl;
        }
        // cout << mind << endl;
        printf("(%d,%d,%d) maps to (%d,%d,%d)\n", map[0], map[1], map[2], map[3], map[4], map[5]);
    }
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/361039.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenGL ES 绘制一张图片

GLSL 语法与内建函数 GLSL 的修饰符与数据类型 GLSL 中变量的修饰符 const&#xff1a;修饰不可被外界改变的常量attribute&#xff1a;修饰经常更改的变量&#xff0c;只可以在顶点着色器中使用uniform&#xff1a;修饰不经常更改的变量&#xff0c;可用于顶点着色器和片段…

vue中go.js的使用教学(五:数据绑定)

一、一个简单的数据绑定&#xff08;go.Binding&#xff09;看注释为绑定 diagram.nodeTemplate $(go.Node, "Auto",$(go.Shape, "RoundedRectangle",{ fill: "white" },new go.Binding("fill", "color")), // shape.fill …

Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题(完整步骤)(亲测有效)

Nginx 部署 Vue 项目以及 Vue 项目刷新出现 404 的问题&#xff08;完整步骤&#xff09;&#xff08;亲测有效&#xff09; 1.流程步骤&#xff08;本教程下载的是1.20.2版本&#xff0c;放在D盘&#xff09; 1-1. 首先去官方下载 nginx &#xff0c;然后在当前目录下创建ht…

大幅提升爬取效率的一款实用工具

在做爬虫的时候&#xff0c;我们往往可能这些情况&#xff1a;网站比较复杂&#xff0c;会碰到很多重复请求。有时候爬虫意外中断了&#xff0c;但我们没有保存爬取状态&#xff0c;再次运行就需要重新爬取。还有诸如此类的问题。那怎么解决这些重复爬取的问题呢&#xff1f;大…

什么国产蓝牙耳机颜值高又好用?好用且高颜值蓝牙耳机推荐

随着蓝牙耳机的受欢迎程度加深&#xff0c;其受众群体也越来越多样。什么国产蓝牙耳机颜值高又好用&#xff1f;针对这个问题&#xff0c;我来给大家推荐几款好用且颜值高的蓝牙耳机&#xff0c;可以当个参考。 一、南卡小音舱蓝牙耳机 参考价&#xff1a;239 蓝牙版本&…

Go进阶(3):上下文context

一、背景 在 Go http包的Server中&#xff0c;每一个请求在都有一个对应的 goroutine去处理。请求处理函数通常会启动额外的goroutine用来访问后端服务&#xff0c;比如数据库和RPC服务。一个上游服务通常需要访问多个下游服务&#xff0c;比如终端用户的身份认证信息、验证相关…

【网工最关心的问题,看Chat GPT怎么回答?】

最近打开微信群聊&#xff0c;都是在说ChatGPT相关内容 那ChatGPT是什么&#xff1f; ChatGPT是由美国人工智能实验室OpenAI开发的一个对话AI模型&#xff0c;于2022年11月正式推出。它因其极其出色的文本生成和对话交互能力在世界范围内迅速走红&#xff0c;五天内用户破百万&…

19岁就患老年痴呆!这些前兆别忽视!

在大部分人的印象中&#xff0c;阿尔兹海默症好像是专属于老年人的疾病&#xff0c;而且它的另一个名字就是老年痴呆症。然而&#xff0c;前不久&#xff0c;一位19岁的男生患上了阿尔兹海默症&#xff0c;是迄今为止最年轻的患者。这个男生从17岁开始&#xff0c;就出现了注意…

return和finally执行顺序、运行时异常与一般异常异同、error和exception区别、Java异常处理机制原理与应用

文章目录1.try {}里有一个return语句&#xff0c;那么紧跟在这个try后的finally{}里的code会不会被执行&#xff0c;什么时候被执行&#xff0c;在return前还是后?2.运行时异常与一般异常有何异同&#xff1f;3.java 程序中的错误有三种类型分别是什么4.error和exception有什么…

GitHub推送报错:You‘re using an RSA key with SHA-1, which is no longer allowed

文章目录1、问题描述2、解决方案&#xff1a;重新生成密钥对3、将生成的公钥添加到GitHub4、向GitHub推送代码测试1、问题描述 在向GitHub推送代码的时候&#xff0c;执行git push命令出现如下问题&#xff1a; 原因是github不再支持RSA算法生成的密钥了&#xff0c;我们需要重…

《爆肝整理》保姆级系列教程python接口自动化(二十)--token登录(详解)

简介 为了验证用户登录情况以及减轻服务器的压力&#xff0c;减少频繁的查询数据库&#xff0c;使服务器更加健壮。有些登录不是用 cookie 来验证的&#xff0c;是用 token 参数来判断是否登录。token 传参有两种一种是放在请求头里&#xff0c;本质上是跟 cookie 是一样的&…

微机原理学习总结0:前言

近期结束了微机课程的学习&#xff0c;&#xff08;指刚考完试&#xff09;&#xff0c;正常情况下&#xff0c;后面应该不会再接触这门课程了&#xff0c;故在此记录自己这段时间的收获。 首先&#xff0c;十分推荐b站的一门课程&#xff0c;老师讲的很细致&#xff0c;很适合…

21个有用的python工具

Python是最流行的编程语言之一。 它简单、强大&#xff0c;并且由一个致力于开源项目的社区驱动。Python的大量使用是它如此流行的原因; 您可以免费构建软件、开发Web服务、执行数据分析和可视化以及训练机器学习模型。 Python开发工具 开发工具帮助我们构建快速可靠的Python…

生物素点击试剂1884349-58-9,Alkyne-PEG3-Biotin Diazo,炔基PEG3生物素重氮

Diazo Biotin-PEG3-alkyne&#xff0c;Alkyne-PEG3-Biotin Diazo&#xff0c;重氮生物素-PEG3-炔烃&#xff0c;重氮生物素PEG3炔烃&#xff0c;炔基PEG3生物素重氮产品结构式&#xff1a;产品规格&#xff1a;1.CAS号&#xff1a;1884349-58-92.分子式&#xff1a;C39H53N7O9S…

HANA SDA-远程数据源访问

我们需要把其他系统的数据拿过来&#xff0c;到BW里和财务的数据集成。 HANA SDA就是不复制数据&#xff0c;建立虚拟表&#xff08;virtual table&#xff09;来映射到远程数据源。通过这个虚拟表访问其他系统的数据。 对虚拟表的操作现在也可以查询&#xff0c;更新&#xff…

熵权法计算权重

文章目录1. 多属性决策问题2. 熵&#xff08;entropy&#xff09;3. 信息熵4. 熵权法5. 熵权法的实现基于信息论的熵值法是根据各指标所含信息有序程度的差异性来确定指标权重的客观赋权方法&#xff0c;仅依赖于数据本身的离散程度。熵用于度量不确定性&#xff0c;指标的离散…

LeetCode-Kotlin-Array-EASY-21至30题

关键字 PriorityQueuePairHashMap和HashSet的区别 1.HashMap实现了Map接口&#xff0c;而HashSet实现了Set接口。2.HashMap用于存储键值对&#xff0c;而HashSet用于存储对象。3.HashMap不允许有重复的键&#xff0c;可以允许有重复的值。HashSet不允许有重复元素。4.HashMap…

新库上线 | CnOpenData专精特新“小巨人”企业工商注册基本信息数据

专精特新“小巨人”企业工商注册基本信息数据 一、数据简介 “专精特新”一词最早来源于2011年7月&#xff0c;由时任工信部总工程师朱宏任在《中国产业发展和产业政策报告&#xff08;2011&#xff09;》新闻发布会上首次提出。“专精特新”是指具备专业化、精细化、特色化、…

第三届区块链服务网络(BSN)全球合作伙伴大会在杭州成功举办

为持续推动分布式技术和产业创新发展&#xff0c;2023年2月17日&#xff0c;由杭州市人民政府指导&#xff0c;杭州市拱墅区人民政府、国家信息中心主办&#xff0c;中国移动通信集团有限公司、区块链服务网络&#xff08;BSN&#xff09;发展联盟承办&#xff0c;中国移动通信…

如何在六秒内吸引观众的注意力

根据《2022国民专注力洞察报告》显示&#xff0c;当代人的连续专注时长&#xff0c;已经从2000年的12秒&#xff0c;下降到了现在的8秒。对于这个事实你可能难以相信&#xff0c;实际上这意味着&#xff0c;大多数互联网用户跳到一些页面上时&#xff0c;可能眼皮都不眨一下就离…