题解|2023暑期杭电多校03

【原文链接】
(补发)题解|2023暑期杭电多校03

1011.8-bit Zoom

不那么签到的签到题、模拟题

题目大意

给定一个 n × n n\times n n×n 大小的字符矩阵表示一张图片,每种字符代表一种颜色;并给定 Z Z Z 代表缩放倍率
满足以下条件即可缩放:

  1. 缩放后的边长 n Z 100 \dfrac{nZ}{100} 100nZ 是一个整数
  2. 每个像素可以被唯一确定(如果缩放后的像素被从超过两种颜色覆盖,则无法确定颜色)

如果可以进行缩放,则输出缩放后的图片,否则输出“error”

解题思路

模拟缩放过程

如果不满足上述条件 1 1 1 则一定无法缩放

条件 2 2 2 需要根据图片实际情况判断是否满足
记这张图片被放大了 x = a b x=\dfrac{a}{b} x=ba 倍,假设此处 a , b a,b a,b 互质,则等同于先将图片缩小 b b b 倍,再放大 a a a
如果缩小的过程不会有像素无法被确定,则缩小后一定是可以放大整数倍的
因此只需检查每个边长为 b b b 的像素区块(它们将被缩小至 1 1 1 像素),如果有任意一块混色,则无法压缩
压缩成功后,边长放大至 a a a 倍即可

根据题意,记缩放后的图片尺寸为 s z sz sz
易得此处 a = s z / g c d ( n , s z ) a=sz/gcd(n,sz) a=sz/gcd(n,sz) b = n / g c d ( n , s z ) b=n/gcd(n,sz) b=n/gcd(n,sz)

参考代码

void solve()
{ll n,Z,t;cin >> n >> Z;string s[55];FORLL(i,1,n) cin >> s[i];if((n*Z)%100) {cout << "error" << endl;return;}ll sz=(n*Z)/100;//缩放后的图片边长char re[55][55]={0};t=gcd(sz,n);if(n==t){FORLL(i,1,n){FORLL(a,1,sz/t){FORLL(j,0,n-1){FORLL(b,1,sz/t){cout << s[i][j];}}cout << endl;}}return;}for(ll i=1;i<=t;i++){for(ll j=0;j<t;j++){char ch=s[(i-1)*(n/t)+1][j*(n/t)];FORLL(a,0,n/t-1){FORLL(b,0,n/t-1){if(s[(i-1)*(n/t)+1+a][j*(n/t)+b]!=ch){cout << "error" << endl;return ;}}}re[i-1][j]=ch;}}FORLL(i,0,t-1){FORLL(a,1,sz/t){FORLL(j,0,t-1){FORLL(b,1,sz/t) cout << re[i][j];}cout << endl;}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/872790.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无人驾驶的未来:AI如何重塑我们的出行世界

无人驾驶汽车&#xff0c;作为人工智能&#xff08;AI&#xff09;技术的集大成者&#xff0c;正以前所未有的速度改变着我们的出行方式。从机器学习到计算机视觉&#xff0c;再到人工智能生成内容&#xff08;AIGC&#xff09;&#xff0c;AI技术的每一次进步都在为无人驾驶汽…

Linux内核编程(八) 添加自定义目录驱动菜单 (Kconfig文件使用)

本文目录 一、Linux 内核驱动目录二、自定义驱动的Kconfig编写●示例&#xff1a;在 drivers 菜单添加一个自己驱动的子菜单。 三、自写驱动的Makefile编写四、总结 一个Linux内核源码&#xff0c;其中包含了很多驱动程序&#xff0c;对应不同的功能。我们在编译内核时。如果将…

设计模式:真正的建造者模式

又臭又长的set方法 经常进行Java项目开发使用各类starter的你一定见过这种代码&#xff1a; public class SwaggerConfig {Beanpublic Docket api() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.any()).paths(PathSelectors.any…

【BUG】已解决:ModuleNotFoundError: No module named ‘cv2’

已解决&#xff1a;ModuleNotFoundError: No module named ‘cv2’ 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c;211科班出身&#xff0c;就职于医疗科技公司&#xff0c;热衷分享知识&#xff0c;武汉城市开…

【Pyhton】Pip换源(Windows)

在Python中使用pip换源的方法可以通过修改pip配置文件来实现。具体步骤如下&#xff1a; 暂时修改&#xff08;只应用于本次下载&#xff09; pip install 库名 -i 国内源链接/simple --trusted-host 国内源链接 常见的国内源链接见下方永久修改中的内容。 示例&#xff1a…

【ffmpeg命令入门】ffmpeg转码过程

文章目录 前言转码图示过程含义总结 前言 在数字媒体处理领域&#xff0c;ffmpeg 是一款非常强大的工具&#xff0c;它支持多种音视频格式&#xff0c;可以进行转码、剪辑、滤镜等操作。ffmpeg 的强大功能和灵活性使其成为了音视频处理的首选工具。然而&#xff0c;由于其功能…

python-Web

FLASK整体框架: from flask import Flask,render_templateapp Flask(__name__)app.route("/show/info")#网址 def index():#网址对应的函数return render_template("index.html")#falsk 支持将字符串写入文件if __name____main__:app.run()#访问网站的时…

Java中的压缩与解压缩操作详解

Java中的压缩与解压缩操作详解 在Java编程中&#xff0c;处理压缩和解压缩文件是一个常见的需求。Java提供了多种方式来实现这些操作&#xff0c;包括使用标准的Java类库和第三方库。 本文将介绍如何使用Java进行压缩和解压缩操作&#xff0c;涵盖基本的压缩文件格式如ZIP以及…

获取JVM虚拟机的内存和CPU核心数

获取内存和核心数量 Runtime runtime Runtime.getRuntime();long freeMemory runtime.freeMemory();long maxMemory runtime.maxMemory();long totalMemory runtime.totalMemory();int availableProcessors runtime.availableProcessors();System.out.println("空闲内…

基于 Web 的家校联系系统的设计与实现

目录 基于 Web 的家校联系系统的设计与实现 一、绪论 &#xff08;一&#xff09;研究背景 &#xff08;二&#xff09; 研究目的 &#xff08;三&#xff09; 研究意义 二、需求分析 &#xff08;一&#xff09; 功能需求 &#xff08;二&#xff09; 性能需求 &#…

Android中Context概述

目录 一 概念二 使用三 注意事项 一 概念 Context&#xff0c;上下文&#xff0c;可以获取应用的资源和信息。Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与。它提供了关于应用环境全局信息的接口。它是一个抽象类&#xff0c;它的执行被Android系统…

WPF TreeView 全选/反选/子级选中父级也选中

// TreeView 全选/反选/子级选中父级也选中CSDN 下载链接 <TreeView Grid.Column"0" Grid.Row"1" Grid.ColumnSpan"2" Name"menuTree" Width"240" ItemsSource"{Binding MenuList}" BorderThickness"0&q…

开发一个自己的chrom插件

开发一个自己的chrom插件 一、创建一个文件夹 二、配置文件manifest.json 创建名字为&#xff1a;manifest.json的配置文件&#xff0c;模板如下&#xff1a; {"manifest_version": 3,"name": "Hello World Extension","version": …

AV1 编码标准屏幕内容编码技术概述

AV1 屏幕内容编码 为了提高屏幕捕获内容的压缩性能&#xff0c;AV1采用了几种编码工具&#xff0c;例如用于处理屏幕画面中重复模式的内帧内块复制&#xff08;IntraBC&#xff09;&#xff0c;以及用于处理颜色数量有限的屏幕块的调色板模式。 帧内块拷贝 AV1 编码中的 Intra …

【Elasticsearch7.11】reindex问题

参考博文链接 问题&#xff1a;reindex 时出现如下问题 原因&#xff1a;数据量大&#xff0c;kibana的问题 解决方法&#xff1a; 将DSL命令转化成CURL命令在服务上执行 CURL命令 自动转化 curl -XPOST "http://IP:PORT/_reindex" -H Content-Type: application…

Python: 一些python和Java不同的基础语法

文章目录 1. 数据类型2. 字符串的引用3. 字符串拼接4. Python中的报错5. Python中的输入语句(input)6. 运算符(**和//)7. 除法运算8. 注释方法: #或者三引号9. Python中的比较10. Java中用and, or, not代替逻辑运算符11. 多元赋值12. Python不支持自增自减操作13. 在Python中, …

zookeeper基础知识学习

官网&#xff1a;Apache ZooKeeper 下载地址&#xff1a;Index of /dist/zookeeper/zookeeper-3.5.7Index of /dist/zookeeperIndex of /dist/zookeeper/zookeeper-3.5.7 ZK配置参数说明&#xff1a; 1、tickTime2000&#xff1a;通讯心跳时间&#xff0c;zookeeper服务器与客…

笑中带泪《抓娃娃》

【标题】笑中带泪&#xff0c;《抓娃娃》&#xff1a;一场关于成长的中式惊悚喜剧盛宴在这个夏日炎炎的季节里&#xff0c;一部名为《抓娃娃》的电影悄然上映&#xff0c;以沈腾与马丽的黄金搭档再次点燃观众的热情。然而&#xff0c;当笑声在影院回荡时&#xff0c;一股不易察…

搭建图片缓存服务器,解决图片访问403 Forbidden问题

在现代Web开发中&#xff0c;图片是网站和应用的重要组成部分。然而&#xff0c;有时我们在访问某些图片时会遇到403 Forbidden错误&#xff0c;尤其是自己的应用访问互联网上的三方的图片时&#xff0c;这通常是由于别人的服务器设置了访问限制。本文将介绍如何通过搭建一个图…

7月15日学习打卡,二叉搜索树和字符串操作

hello大家好呀&#xff0c;本博客目的在于记录暑假学习打卡&#xff0c;后续会整理成一个专栏&#xff0c;主要打算在暑假学习完数据结构&#xff0c;因此会发一些相关的数据结构实现的博客和一些刷的题&#xff0c;个人学习使用&#xff0c;也希望大家多多支持&#xff0c;有不…