试题编号: 201909-3
试题名称: 字符画
时间限制: 5.0s
内存限制: 512.0MB



问题链接:CCF201909-3 字符画
问题简述:(略)
问题分析:(略)
程序说明:(略)
参考链接:(略)
题记:(略)

100分的C++语言程序如下:

/* CCF201909-3 字符画 */#include <bits/stdc++.h>using namespace std;const int N = 1080;
const int M = 1920;
struct RGB {int rgb[3];
} image[N][M];bool isrgbeq(RGB &a, RGB &b)
{for (int i = 0; i < 3; i++)if (a.rgb[i] != b.rgb[i]) return false;return true;
}void output(string t)
{for(int i = 0; t[i]; i++) // 转为ascii码cout << "\\x" << hex << uppercase << setw(2) << int(t[i]);
}int main()
{std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);int m, n, p, q;cin >> m >> n >> p >> q;string rgb;for (int i = 0; i < n; i++)for (int j = 0; j < m; j++) {cin >> rgb;if (rgb.size() == 2)rgb += string(5, rgb.back());   // #a变换为#aaaaaaelse if (rgb.size() == 4)// #abc变换为#aabbccrgb = "#" + string(2,rgb[1]) + string(2,rgb[2]) + string(2,rgb[3]);// 将16进制转换为10进制进行存储RGB color;for (int k = 0; k < 3; k++)color.rgb[k] = stoi(rgb.substr(2 * k + 1, 2), 0, 16);image[i][j] = color;}// 处理小块(计算平均值),输出小块RGB last = {0, 0, 0}, defcolor = {0, 0, 0};for (int i = 0; i < n / q; i++) {for (int j = 0; j < m / p; j++) {RGB cur = {0, 0, 0};for (int i2 = 0; i2 < q; i2++)for (int j2 = 0; j2 < p; j2++)for (int k = 0; k < 3; k++)cur.rgb[k] += image[i * q + i2][j * p + j2].rgb[k];// 计算平均值for (int k = 0; k < 3; k++)cur.rgb[k] /= p * q;if (isrgbeq(cur, last))   // 跟前一个小块一样;else if (isrgbeq(cur, defcolor)) { // 跟默认一样last = defcolor;cout << "\\x1B\\x5B" << "\\x30\\x6D";} else {//如果都不一样last = cur;output("\x1b[48;2;" + to_string(cur.rgb[0]) + ";" + to_string(cur.rgb[1]) + ";" + to_string(cur.rgb[2]) + "m");}cout<<"\\x20";  // 每个小块结束输出一个空格}if (!isrgbeq(last, defcolor)) { // 换行判断结尾是否为默认值last = defcolor;cout << "\\x1B\\x5B" << "\\x30\\x6D";}cout << "\\x0A";    // 输出一个换行符}return 0;
}/*
1 1
1 1
#0102032 2
1 2
#111111
#0
#111
*/

CCF201909-3 字符画(100分)【文本处理】相关推荐

  1. csp字符画c语言,CCF CSP 2019-3 字符画 80分(超时,又瞧不起python囧)

    题目分析: 题目很长,读懂之后就很简单.描述里面还有一点混淆视听,前景色在本体里面是用不到的,色块怎么前景色的嘛. 题目大概意思就是:将图片切割成小图片,每个小图片用一个色块块,色块的颜色取小图片内所 ...

  2. CSP CCF: 201909-3 字符画) (C++)

    目录 题目来源 知识点 注意点 0分(略了) 20分 100分 代码挺长的,可以修改/删除一些地方(比如规划输出那一段中一长串字符的定义,可以从题目中就知道,就不用再转来转去了),优化一些地方(最后两 ...

  3. CCF201512-1 数位之和(100分)【进制+文本】

    试题编号: 201512-1 试题名称: 数位之和 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给定一个十进制整数n,输出n的各位数字之和. 输入格式 输入一个整数n. 输 ...

  4. html 字符画,字符画

    字符画,一种由字母.标点.汉字或其他字符组成的图画.简单的字符画是利用字符的形状代替图画的线条来构成简单的人物.事物等形象,它一般由人工制作而成:复杂的字符画通常利用占用不同数量像素的字符代替图画上不 ...

  5. CCF201409-3 字符串匹配(100分)【文本处理】

    试题编号: 201409-3 试题名称: 字符串匹配 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 给出一个字符串和多行文字,在这些文字中找到字符串出现的那些行.你的程序还需 ...

  6. CCF201703-3 Markdown(100分)【文本处理】

    试题编号: 201703-3 试题名称: Markdown 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 Markdown 是一种很流行的轻量级标记语言(lightweigh ...

  7. CCF201709-3 JSON查询(100分)【文本处理】

    问题描述 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,可以用来描述半结构化的数 据.JSON 格式中的基本单元是值 (value),出于简化的目的本 ...

  8. CCF201803-3 URL映射(100分)【文本处理+暴力】

    试题编号: 201803-3 试题名称: URL映射 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 URL 映射是诸如 Django.Ruby on Rails 等网页框架 ...

  9. c语言将图像转换成字符画,25行Java代码将普通图片转换为字符画图片和文本的实现...

    本文主要介绍了25行Java代码将普通图片转换为字符画图片和文本的实现,分享给大家,具体如下: 原图 生成字符画文本(像素转换字符显示后,打开字符画显示相当于原图的好几倍大,不要用记事本打开,建议用n ...

最新文章

  1. Mat 类常用函数用法示例
  2. 获得插入行身份的最佳方法?
  3. asp.net select Case条件语句的使用方法
  4. 大数据-HDFS 配置与使用
  5. I00003 贝尔三角形
  6. win10企业版永久关闭自动更新
  7. 汇编学习--7.11--内存寻址
  8. 易筋SpringBoot 2.1 | 第十九篇:SpringBoot的常用注解
  9. 常用EXCEL函数公式入门
  10. 12款网盘搜索神器以备不时之需要
  11. HISI3559A YOLOV5训练部署全流程
  12. 使用WireShark协议分析仪来分析ICMP与FTP协议
  13. 水声信号混响matlab,水声信号
  14. 腾讯云服务器带宽按使用流量计费规则(通俗易懂)
  15. SQLyog怎么导入mysql数据库
  16. 微电子专业是做芯片的吗?芯片和什么专业有关?
  17. 医院药品管理系统开源项目-04 【药品管理】
  18. 数码管显示数字(滚动和静态)
  19. 高中计算机课程事例,高中信息技术课堂教学案例与分析.doc
  20. Python 函数嵌套

热门文章

  1. 网络工程师交换试验手册之二十一:单臂路由的配置实例
  2. sublime text c++ mac 怎么用_Mac 地址是什么,怎么用
  3. 失物招领小程序_在机场丢了东西怎么办?温州机场失物招领在线办理平台暖心上线!...
  4. oppo手机删了android怎么办,OPPO手机越用越卡?1删除这4个僵尸文件夹,流畅如新机...
  5. ASP.NET MVC——Entity Framework连接mysql及问题
  6. RabbitMQ + ELK 搭建日志平台
  7. 游戏中的影子制作技术
  8. linux 设置更新源为cd,技术|如何修复 apt-get update 无法添加新的 CD-ROM 的错误
  9. 5.2.4 std::atomic:指针运算
  10. 深大自考本科所需课程