当前位置: 首页 > news >正文

2023“钉耙编程”中国大学生算法设计超级联赛(3)8-bit Zoom

2023“钉耙编程”中国大学生算法设计超级联赛(3)8-bit Zoom

题解

有一张尺寸为 n × n n\times n n×n的图片,你要将图片放大成大小为 n Z 100 × n Z 100 \dfrac{nZ}{100}\times \dfrac{nZ}{100} 100nZ×100nZ的图片。

当下列任何一个条件不成立时,图片不能放大成上述的图片:

  • n Z 100 \dfrac{nZ}{100} 100nZ不是整数
  • 在放大的图片中,无法确定某些像素的颜色

给出图片,求能否放大成上述的图片。如果可以的话,输出放大后的图片;否则,输出 error \text{error} error

T T T组数据。

1 ≤ T ≤ 10 , 1 ≤ n ≤ 50 , 100 ≤ Z ≤ 200 , Z % 25 = 0 1\leq T\leq 10,1\leq n\leq 50,100\leq Z\leq 200,Z\% 25=0 1T10,1n50,100Z200,Z%25=0


题解

先判断 n Z 100 \dfrac{nZ}{100} 100nZ是不是整数,不是的话输出 error \text{error} error

先将图放大 Z 25 \dfrac{Z}{25} 25Z倍,这样的话,原图的每个 1 × 1 1\times 1 1×1的格子在放大后的图中变为 Z 25 × Z 25 \dfrac{Z}{25}\times \dfrac{Z}{25} 25Z×25Z的格子。

然后,将图片缩到原来的 1 4 \dfrac 14 41,将每个 4 × 4 4\times 4 4×4的部分变为一个格子。如果出现一个 4 × 4 4\times 4 4×4的部分存在两个像素的颜色不相同的情况,则不合法,输出 error \text{error} error

放大 Z 25 \dfrac{Z}{25} 25Z倍后再缩到原来的 1 4 \dfrac 14 41,也就是将原图放大 Z 100 \dfrac{Z}{100} 100Z倍,符合题意。如果经过放大在缩小后的图合法,则将最后的图输出即可。

时间复杂度为 O ( n 2 ) O(n^2) O(n2)

code

#include<bits/stdc++.h>
using namespace std;
int t,n,Z,w,fl;
char a[105][105],b[505][505];
char gt(){char ch=getchar();while(ch<'a'||ch>'z') ch=getchar();return ch;
}
int main()
{scanf("%d",&t);while(t--){scanf("%d%d",&n,&Z);for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){a[i][j]=gt();}}if(n*Z%100!=0){printf("error\n");continue;}w=Z/25;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){for(int k=(i-1)*w+1;k<=i*w;k++){for(int l=(j-1)*w+1;l<=j*w;l++){b[k][l]=a[i][j];}}}}fl=0;for(int i=1;i<=n*w;i+=4){for(int j=1;j<=n*w;j+=4){for(int k=0;k<4;k++){for(int l=0;l<4;l++){if(b[i+k][j+l]!=b[i][j]) fl=1;}}}}if(fl) printf("error\n");else{for(int i=1;i<=n*w;i+=4){for(int j=1;j<=n*w;j+=4){printf("%c",b[i][j]);}printf("\n");}}}return 0;
}

相关文章:

2023“钉耙编程”中国大学生算法设计超级联赛(3)8-bit Zoom

2023“钉耙编程”中国大学生算法设计超级联赛&#xff08;3&#xff09;8-bit Zoom 题解 有一张尺寸为 n n n\times n nn的图片&#xff0c;你要将图片放大成大小为 n Z 100 n Z 100 \dfrac{nZ}{100}\times \dfrac{nZ}{100} 100nZ​100nZ​的图片。 当下列任何一个条件不成…...

【PWN · ret2text | 伪rand()】[HDCTF 2023]pwnner

伪随机数以及ctypes库的初步接触 目录 前言 一、题目 二、解题思路 三、exp 总结 前言 一道简单的ret2text&#xff0c;加上一些伪随机的知识&#xff0c;对于本蒟蒻萌新来说&#xff0c;比较新&#xff0c;值得记录。 一、题目 栈溢出保护、PIE保护都没有开。反汇编后…...

第五章:通过对抗擦除的目标区域挖掘:一种简单的语义分割方法

0.摘要 我们研究了一种逐步挖掘具有鉴别性的物体区域的原则方法&#xff0c;使用分类网络来解决弱监督语义分割问题。分类网络只对感兴趣对象中的小而稀疏的鉴别性区域有响应&#xff0c;这与分割任务的要求相背离&#xff0c;分割任务需要定位密集、内部和完整的区域以进行像素…...

自定义view - 玩转字体变色

自定义View步骤&#xff1a; 1>&#xff1a;values__attrs.xml&#xff0c;定义自定义属性&#xff1b; 2>&#xff1a;在第三个构造方法中获取自定义属性&#xff1b; 3>&#xff1a;onMeasure【不是必须的】&#xff1b; 4>&#xff1a;onDraw&#xff1a;绘制代…...

工业边缘网关HiWoo Box的4G/5G CPE功能:为现场无线设备提供网络

引言 随着工业物联网的快速发展&#xff0c;现场设备的无线连接需求越来越迫切。然而&#xff0c;在一些室外或者不方便布网的场景下&#xff0c;为现场的无线设备提供网络仍然是一个挑战。为了满足这一需求&#xff0c;工业边缘网关HiWoo Box引入了4G/5G CPE&#xff08;Cust…...

Set 和 Map 数据结构

数据结构Set ES6提供了新的数据结构Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成Set数据结构。 // 数组去重 const set new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4]目前个人感觉Se…...

nginx根据url参数动态代理

nginx根据url参数动态代理 请求url格式&#xff0c;其中参数proxy后面的url就是需要访问的真实地址&#xff1a; http://localhost:9388/?proxyhttp://localhost:8038/Content/layui/font/iconfont.woff?v256 http://localhost:9388/?proxyhttp://localhost:8072/article/A…...

TCP协议(收集和记录)

收集写的比较好的文章 TCP四次挥手详解 四次挥手介绍的非常详细, 重点介绍了各种异常情况下协议是如何处理的, 异常处理可以做到两点: 让连接保活, 也许只是一次连接异常让连接死掉后不影响后续的操作, 重点介绍了TIME_WAIT...

【Kafka】自动提交偏移量和手动提交偏移量的区别

区别 自动提交偏移量&#xff08;Auto Commit Offset&#xff09;和手动提交偏移量&#xff08;Manual Commit Offset&#xff09;是两种不同的消费者偏移量管理方式。 自动提交偏移量&#xff1a; 在自动提交模式下&#xff0c;消费者会定期自动将已消费的消息偏移量提交给…...

缠论线段的划分

第一种情况&#xff1a; 第二种情况&#xff1a; 第二种情况中的特例&#xff1a; 第二种情况的特例&#xff1a; 顶分型成立&#xff1a; 向上线段延续&#xff1a; 顶分型后面底分型&#xff0c;形成三段 插入一个分型的反面例子&#xff1a; dd...

【Linux】Ubuntu基本使用与配置, 以及常见问题汇总(一)

前言 大学期间&#xff0c;感觉很多时候学习课外知识都是被推着往前走&#xff0c;很多内容并没有深入去学习&#xff0c;知识的记录受限于所学比较片面&#xff0c;如今渐渐意识到似乎并没有建立起相关知识的体系架构&#xff0c;缺乏一个系统学习并整理的过程。本文将以Ubunt…...

【UE5 多人联机教程】02-开始游戏菜单控件

目录 步骤 一、完善开始游戏菜单控件 二、控件功能实现 2.1 “开始游戏”按钮切换界面 2.2 “创建房间”、“加入房间”按钮切换界面 2.3 “创建房间”按钮 步骤 一、完善开始游戏菜单控件 打开“UMG_Main” 首先在控件切换器外层包裹一个画布面板 然后调整控件切换器全…...

设计模式-工厂方法模式

基于面向对象语言开发中&#xff0c;免不得需要创建对象。前面讲解的"单例模式"也是如此&#xff0c;不过是要创建唯一的对象。本文要讲述“工厂方法模式”是要封装创建对象的过程。工厂&#xff0c;也称之为“制造厂”&#xff0c;用于创建具体的产品直接提供给外界…...

【Hammerstein模型的级联】快速估计构成一连串哈默斯坦模型的结构元素研究(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码实现 &#x1f4a5;1 概述 在许多振动应用中&#xff0c;所研究的系统略微非线性。Hammerstein模型的级联可以方便地描述这样的系统。Hammerstein提供了一种基于指数正弦…...

「C 语言」extern关键字

在 C 语言中&#xff0c;关键字 extern 是用来告诉编译器&#xff0c;这个变量 OR 函数在其他文件中已有定义&#xff0c;可在当前文件中使用 当我们定义了一个全局变量 OR 函数时&#xff0c;它就已经具有了外部链接的属性&#xff0c;我们只需要通过在引用该变量的文件中用 …...

oracle单个用户最大连接数限制

项目经理反馈&#xff0c;现场已做了单个用户的最大连接数2000的限制&#xff0c;但数据库还是报无法连接&#xff0c;故障用户的连接数已3800多了。 查看日志报错如下 2023-07-20T13:07:57.79465308:00 Process m000 submission failed with error 20 Process m000 submiss…...

计算机网络最基础知识介绍

OSI和TCP/IP是很基础但又非常重要的知识,很多知识点都是以它们为基础去串联的,作为底层,掌握得越透彻,理解上层时会越顺畅。今天这篇网络基础科普,就是根据OSI层级去逐一展开的。 01 计算机网络基础 01 计算机网络的分类 按照网络的作用范围:广域网(WAN)、城域网(MA…...

接口测试进阶之数据模板

大家好久不见了。今天的文章将介绍jinja2模板在接口测试数据上的应用。 这几个月我在想&#xff0c;进阶系列要怎么写。 毕竟很多情况下&#xff0c;我觉得写技术文章和做培训一样&#xff0c;都会有两个结果&#xff1a; 1.是需要这些知识的人看不懂。 2.是看得懂的人不需要…...

Java中使用MySQL详解

1. 简介 在Java开发中&#xff0c;与数据库的交互是常见且重要的一部分。MySQL是一个广泛使用的关系型数据库管理系统&#xff0c;而Java作为一种强大的编程语言&#xff0c;提供了丰富的API和工具&#xff0c;使得与MySQL数据库的结合应用更加便捷和高效。 本篇博客将详细介…...

Docker安装Elasticsearch相关软件安装

Docker安装Elasticsearch相关软件安装 本文将介绍通过 Docker 的方式安装 Elasticsearch 相关的软件。 1、Docker安装Elasticsearch 1.1 搜索镜像 $ docker search elasticsearch $ docker search elasticsearch:7.12.11.2 拉取镜像 $ docker pull elasticsearch:7.12.11.…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

相机从app启动流程

一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...

HTML前端开发:JavaScript 常用事件详解

作为前端开发的核心&#xff0c;JavaScript 事件是用户与网页交互的基础。以下是常见事件的详细说明和用法示例&#xff1a; 1. onclick - 点击事件 当元素被单击时触发&#xff08;左键点击&#xff09; button.onclick function() {alert("按钮被点击了&#xff01;&…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 在 GPU 上对图像执行 均值漂移滤波&#xff08;Mean Shift Filtering&#xff09;&#xff0c;用于图像分割或平滑处理。 该函数将输入图像中的…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Java编程之桥接模式

定义 桥接模式&#xff08;Bridge Pattern&#xff09;属于结构型设计模式&#xff0c;它的核心意图是将抽象部分与实现部分分离&#xff0c;使它们可以独立地变化。这种模式通过组合关系来替代继承关系&#xff0c;从而降低了抽象和实现这两个可变维度之间的耦合度。 用例子…...