luogu#P8115. 「RdOI R3.5」Table

「RdOI R3.5」Table

题目背景

小 A 想要打表过题,但是代码长度过长。他想到了把数字用十六进制表示有时比用十进制表示更短,决定把答案表用十六进制进行改写。

题目描述

我们定义下文中的「十六进制」均用数字 090\sim 9 和大写英文字母 AF\tt A\sim F 表示,且每个十六进制数字都包含前缀 0x\colorbox{#ddd}{\tt 0x}

给出若干个用大括号包裹,用逗号分隔的十进制整数,代表小 A 的答案表。你需要对答案表内的每个数字进行改写:

  • 若该整数使用十六进制表示所占字符数小于或等于十进制表示,则将该数改写为十六进制。
  • 否则,该数保留十进制不变。

输出改写后的答案表。

输入格式

  • 输入一行一个字符串,字符串中仅包含大括号、逗号和数字,不包含空格和其他字符等。具体格式可以参考 C++ 语言的数组定义格式。代表小 A 的答案表,保证答案表格式正确。

输出格式

  • 输出一行一个字符串,表示改写后的答案表。
{1,314159,3141592653589793}
{1,314159,0xB29430A256D21}

{}
{}

提示

样例解释

样例 #1

  • 11 用十六进制表示为 0x1\tt 0x1,共 33 个字符,长度大于十进制的 11 个字符。
  • 314159314159 用十六进制表示为 0x4CB2F\tt 0x4CB2F,共 77 个字符,长度大于十进制的 66 个字符。
  • 31415926535897933141592653589793 用十六进制表示为 0xB29430A256D21\tt 0xB29430A256D21,共 1515 个字符,长度小于十进制的 1616 个字符。

样例 #2

输入为空数组,所以输出也应为空数组。

数据范围及约定

本题共五个测试点,每个测试点 20 分,总分数为各测试点分数之和。

记答案表中共有 nn 个整数,这些整数分别为 a1,a2,,ana_1,a_2,\cdots,a_n。则对于 100%100\% 的数据,0n1030\le n\le10^30ai<2640\le a_i < 2^{64}