Skip to content

Latest commit

 

History

History
80 lines (47 loc) · 2.68 KB

P7106.md

File metadata and controls

80 lines (47 loc) · 2.68 KB

双生独白

题目描述

为了形式化地描述颜色,我们引入 RGB 颜色值,用三元组 $(r,g,b)$ 表示一种颜色,其中 $r,g,b$ 分别为该颜色的 R 值G 值B 值,满足 $0 \le r,g,b \le 255$ 且皆为十进制整数

显然,这套颜色系统一共可以表示 $256 \times 256 \times 256 = 16,777,216$ 种不同的颜色。对于颜色 $(r,g,b)$,定义其反色的 RGB 颜色值为 $(255-r,255-g,255-b)$

然而人们发现,单纯地使用 RGB 颜色值很不方便,复制颜色时要复制三个值。

于是诞生了十六进制颜色码,即形如 #EBA932 长度为 $7$ 的字符串。具体而言:

  • 字符串的第一位是 #,为颜色码标识符。
  • 字符串的第二、三位是十六进制数码,拼成的十六进制数等于十进制下所示颜色的 R 值。
  • 字符串的第四、五位是十六进制数码,拼成的十六进制数等于十进制下所示颜色的 G 值。
  • 字符串的第六、七位是十六进制数码,拼成的十六进制数等于十进制下所示颜色的 B 值。

十六进制数码从小到大包含 0123456789ABCDEF,注意 ABCDEF 均为大写

现在你收到了一组十六进制颜色码,请你输出其反色的十六进制颜色码。

提示:颜色的 RGB 值与十六进制码之间可以相互转换(参考样例解释 #2)

输入格式

一行,输入长度为 $7$ 的字符串,表示原色的十六进制颜色码。

输出格式

一行,输出长度为 $7$ 的字符串,表示反色的十六进制颜色码。

样例 #1

样例输入 #1

#FFFFFF

样例输出 #1

#000000

样例 #2

样例输入 #2

#EBA932

样例输出 #2

#1456CD

提示

【样例解释 #1】

转换后原色的 RGB 值为 $(255,255,255)$,反色的 RGB 值为 $(0,0,0)$,对应十六进制码 #000000

【样例解释 #2】

转换后原色的 RGB 值为 $(235,169,50)$,反色的 RGB 值为 $(20,86,205)$,对应十六进制码 #1456CD

为避免理解偏差,此处特别解释 #EBA932 转换后 B 值为 $50$ 的原因:提取字符串的第六、七位,拼成的十六进制数为 $(32){16}$,则有 $(32){16} = 3 \times 16^1 + 2 \times 16^0 = 50$。


【数据规模与约定】

本题共有 10 个测试点,每通过一个测试点可获得 10 points。

对于 $10%$ 的数据,为样例 #1。

对于另外 $30%$ 的数据,输入与输出字符串均不包含大写字母。

对于所有的数据,保证给定字符串为合法十六进制颜色码。