试题编号: 201909-3
试题名称: 字符画
时间限制: 5.0s
内存限制: 512.0MB
相关:
用到的16进制转换:
ESC \x1B
[ \x5B
4 \x34
8 \x38
; \x3B
2 \x32
空格 \x20
换行 \x0A
ESC [ 4 8 ; 2 ; R ; G ; B ; m
\x1B\x5B\x34\x38\x3B\x32\x3B ? \x3B ? \x3B ? \x3B\x6D
ESC [ 0 m
\x1B\x5B\x30\x6D
注意事项:
1、只用到了背景色,与前景色无关
2、RGB任何一个中 如果颜色数值为一位数,只输出一个\x**,是几位输出响应的个数
3、相邻两色块如果颜色相同,则后一个只输出一个空格\x20
4、输入的RGB为两位数的十六进制格式,需要转换成十进制再来算平均值,输出为转义字符格式
测试用例:
输入1
1 1
1 1
#010203
输出1
\x1B\x5B\x34\x38\x3B\x32\x3B\x31\x3B\x32\x3B\x33\x6D\x20\x1B\x5B\x30\x6D\x0A
输入2
2 2
1 2
#111111
#0
#000000
#111
输出2
\x1B\x5B\x34\x38\x3B\x32\x3B\x38\x3B\x38\x3B\x38\x6D\x20\x20\x1B\x5B\x30\x6D\x0A
输入3
1 1
1 1
#0
输出3
\x20\x0A
输入4
2 2
2 1
#111111
#0
#000000
#111
输出4
\x1B\x5B\x34\x38\x3B\x32\x3B\x38\x3B\x38\x3B\x38\x6D\x20\x1B\x5B\x30\x6D\x0A\x1B\x5B\x34\x38\x3B\x32\x3B\x38\x3B\x38\x3B\x38\x6D\x20\x1B\x5B\x30\x6D\x0A
输入5
2 2
2 1
#111111
#0
#000000
#000
输出5
\x1B\x5B\x34\x38\x3B\x32\x3B\x38\x3B\x38\x3B\x38\x6D\x20\x1B\x5B\x30\x6D\x0A\x20\x0A
输入6
3 2
1 2
#0
#0
#010101
#010102
#0
#0
输出6
\x1B\x5B\x34\x38\x3B\x32\x3B\x30\x3B\x30\x3B\x31\x6D\x20\x1B\x5B\x30\x6D\x20\x20\x0A
输入7
1 2
1 2
#123456
#abcdef
输出7
\x1B\x5B\x34\x38\x3B\x32\x3B\x39\x34\x3B\x31\x32\x38\x3B\x31\x36\x32\x6D\x20\x1B\x5B\x30\x6D\x0A
输入8
2 1
2 1
#654321
#fedcba
输出8
\x1B\x5B\x34\x38\x3B\x32\x3B\x31\x37\x37\x3B\x31\x34\x33\x3B\x31\x30\x39\x6D\x20\x1B\x5B\x30\x6D\x0A
代码:
出现两次问题:1、把十六进制转换成了十进制字符格式,比较时换为int形式 输出时再换回来,没必要 运行超时70分。
2、数组定义的是s[2000][1100] ,定义反了 注意一下。
#include<iostream>
#include<string>
using namespace std;
struct picture{
string r