zoukankan      html  css  js  c++  java
  • 洛谷 P7106 双生独白

    洛谷 P7106 双生独白

    洛谷传送门

    题目背景

    我喜欢安静,你热爱喧闹;我忠于温暖,你酷爱凉爽。

    如果任何事物都有反面,那拼接这个世界的颜色呢?

    只有白与黑吗?

    题目描述

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

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

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

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

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

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

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

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

    输入格式

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

    输出格式

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


    题解:

    月赛签到题。

    其实相当于FF和给出十六进制数做减法,直接上去就开模拟。

    我切的时候考场有26个人切,手速还是慢。

    转眼就300多人切了。预估红题,不知道具体是什么题。

    代码:

    #include<cstdio>
    using namespace std;
    char s[10];
    int a[10];
    int main()
    {
        scanf("%s",s);
        for(int i=1;i<=6;i++)
        {
            if(s[i]>='A'&&s[i]<='F')
                a[i]=s[i]-'A'+10;
            else
                a[i]=s[i]-'0';
        }
        int r,g,b;
        for(int i=1;i<=6;i++)
            a[i]=15-a[i];
        printf("#");
        for(int i=1;i<=6;i++)
        {
            if(a[i]<=9)
                printf("%d",a[i]);
            else
            {
                a[i]-=10;
                printf("%c",'A'+a[i]);
            }
        }
        return 0;
    }
    
  • 相关阅读:
    ERROR: epmd error for host "yourhostname": timeout
    leetcode485
    leetcode463
    leetcode496
    leetcode344
    leetcode412
    leetcode500
    leetcode476
    leetcode557
    leetcode461
  • 原文地址:https://www.cnblogs.com/fusiwei/p/14053283.html
Copyright © 2011-2022 走看看